graylog添加自定义日志参数

Posted flyyu1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了graylog添加自定义日志参数相关的知识,希望对你有一定的参考价值。

1.logback.xml日志文件配置

<configuration>

<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>

<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
<graylogHost></graylogHost>
<graylogPort>12201</graylogPort>
<maxChunkSize>508</maxChunkSize>
<useCompression>true</useCompression>
<encoder class="de.siegmar.logbackgelf.GelfEncoder">
<!-- <originHost>localhost</originHost>-->
<includeRawMessage>false</includeRawMessage>
<includeMarker>true</includeMarker>
<includeMdcData>true</includeMdcData>
<includeCallerData>false</includeCallerData>
<includeRootCauseData>false</includeRootCauseData>
<includeLevelName>true</includeLevelName>
<shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d - %m%nopex</pattern>
</shortPatternLayout>
<fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d - %m%n</pattern>
</fullPatternLayout>
<staticField>app_name:ad-server</staticField>
<staticField>os_arch:$os.arch</staticField>
<staticField>os_name:$os.name</staticField>
<staticField>os_version:$os.version</staticField>
<staticField>uri:%Xuri</staticField>
<staticField>uid:%Xuid</staticField>
<staticField>ip:%Xip</staticField>
</encoder>
</appender>
<!-- logger 是用来设置某一个包或者具体某一个类的日志打印级别, 以及指定的 appender -->
<logger name="com.plp.boling" level="info" additivity="false">
<appender-ref ref="GELF" />
</logger>
</configuration>

添加自定义日志参数
<staticField>uri:%Xuri</staticField>
<staticField>uid:%Xuid</staticField>
<staticField>ip:%Xip</staticField>

2.在对应的类中使用slf4j中的MDC写入信息到日志
String requestURI = req.getRequestURI();
MDC.put("uri", requestURI);

以上是关于graylog添加自定义日志参数的主要内容,如果未能解决你的问题,请参考以下文章

自定义 logback 日志过滤器

AWS Elastic Beanstalk:将自定义日志添加到 CloudWatch?

自定义注解+AOP记录访问日志

自定义错误日志记录类

自定义注解结合SpringAop实现权限,参数校验,日志等等功能

自定义注解+AOP,优雅的打印方法接受和返回的参数内容