Sentry+Graylog配置(Spring Boot)

1.pom.xml文件修改

<!--Sentry错误日志监控-->
<dependency>
    <groupId>io.sentry</groupId>
    <artifactId>sentry-logback</artifactId>
    <version>1.7.16</version>
</dependency>

<!--graylog支持-->
<dependency>
    <groupId>de.siegmar</groupId>
    <artifactId>logback-gelf</artifactId>
    <version>2.0.0</version>
</dependency>

2.logback.xml文件修改

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}][%t][%-5p][%c:%L]: %m%n</pattern>
            </layout>
        </encoder>
    </appender>

    <!--Sentry配置-->
    <appender name="Sentry" class="io.sentry.logback.SentryAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
    </appender>

    <!--发送GELF UDP 到 graylog-->
    <appender name="GelfUdp" class="de.siegmar.logbackgelf.GelfUdpAppender">
        <!--graylogHost: IP or hostname of graylog server. If the hostname resolves to multiple ip addresses, round robin will be used.-->
        <graylogHost>192.168.0.1</graylogHost>
        <!--graylogPort: Port of graylog server. Default: 12201.-->
        <graylogPort>12201</graylogPort>
        <!--maxChunkSize: Maximum size of GELF chunks in bytes. Default chunk size is 508 - this prevents IP packet fragmentation. This is also the recommended minimum. Maximum supported chunk size is 65,467 bytes.-->
        <maxChunkSize>508</maxChunkSize>
        <!--useCompression: If true, compression of GELF messages is enabled. Default: true.-->
        <useCompression>true</useCompression>
        <encoder class="de.siegmar.logbackgelf.GelfEncoder">
            <!--originHost: Origin hostname - will be auto detected if not specified.-->
            <originHost></originHost>
            <!--includeRawMessage: If true, the raw message (with argument placeholders) will be sent, too. Default: false.-->
            <includeRawMessage>false</includeRawMessage>
            <!--includeMarker: If true, logback markers will be sent, too. Default: true.-->
            <includeMarker>true</includeMarker>
            <!--includeMdcData: If true, MDC keys/values will be sent, too. Default: true.-->
            <includeMdcData>true</includeMdcData>
            <!--includeCallerData: If true, caller data (source file-, method-, class name and line) will be sent, too. Default: false.-->
            <includeCallerData>false</includeCallerData>
            <!--includeRootCauseData: If true, root cause exception of the exception passed with the log message will be exposed in the root_cause_class_name and root_cause_message fields. Default: false.-->
            <includeRootCauseData>false</includeRootCauseData>
            <!--includeLevelName: If true, the log level name (e.g. DEBUG) will be sent, too. Default: false.-->
            <includeLevelName>false</includeLevelName>
            <!--shortPatternLayout: Short message format. Default: "%m%nopex".-->
            <shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
                <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}][%t][%-5p][%c:%L]: %m%n</pattern>
            </shortPatternLayout>
            <!--fullPatternLayout: Full message format (Stacktrace). Default: "%m%n".-->
            <fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
                <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}][%t][%-5p][%c:%L]: %m%n</pattern>
            </fullPatternLayout>
            <!--staticFields: Additional, static fields to send to graylog. Defaults: none.-->
            <staticField>application:application name</staticField>
        </encoder >
    </appender>

    <root level="INFO">
        <appender-ref ref="Console" />
        <appender-ref ref="Sentry" />
        <appender-ref ref="GelfUdp" />
    </root>
</configuration>

3.sentry.properties文件修改

#DSN地址
dsn=http://1150a0d1c62541788e50acdf817b2345@your.sentry.url/9
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容