博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot下使用logback或log4j生成符合Logstash标准的JSON格式
阅读量:6879 次
发布时间:2019-06-27

本文共 1857 字,大约阅读时间需要 6 分钟。

使用logback

1.引入logstash日志格式支持

<dependency>

<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>4.4</version>
</dependency>

2.在 boot的配置文件application.properties指定使用logback.xml位置

logging.config=config/logback.xml

3.在logback.xml中添加用来记录logstash的appender

<appender name="LOGSTASH" class="ch.qos.logback.core.rolling.RollingFileAppender"> 

    <encoder class="net.logstash.logback.encoder.LogstashEncoder">
        <charset>utf8</charset>
    </encoder> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
        <fileNamePattern>logstash/logstash-%d{yyyy-MM-dd}.log</fileNamePattern>  
    </rollingPolicy>  
</appender>

4.将某一个logger输入到这个appender上

<logger name="xxx" additivity="false">

   <level value="INFO" />
   <appender-ref ref="LOGSTASH" />
</logger>

 

使用log4j

1.spring boot默认使用logback记录日志,所以首先要从组件spring-boot-starter-logging中剔除logback,再引入log4j,代码如下:

<dependency>

    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<exclusions>
<exclusion>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
</exclusion>
</exclusions>

</dependency>

2.添加logstash日志格式的支持:

<dependency>

<groupId>net.logstash.log4j</groupId>
<artifactId>jsonevent-layout</artifactId>
<version>1.7</version>
</dependency>

3.在spring boot的配置文件application.properties指定使用log4j作为日志组件

#指定log4j.properties的位置

logging.config=config/log4j.properties

4.log4j.properties中添加用来记录logstash的appender

log4j.logger.xxx=INFO,logstash

log4j.appender.logstash=org.apache.log4j.DailyRollingFileAppender

log4j.appender.logstash.File=logstash/logstash.log
log4j.appender.logstash.Append=true
log4j.appender.logstash.Encoding=UTF-8
log4j.appender.logstash.layout=net.logstash.log4j.JSONEventLayoutV1

转载地址:http://isybl.baihongyu.com/

你可能感兴趣的文章
windows 使用 xxfpm 解决 php-cgi 进程自动关闭
查看>>
Android Viewpager加Fragment做界面切换时数据消失的解决方式
查看>>
信息系统架构
查看>>
绿盟科技安全态势感知解决方案
查看>>
如何运营亿级QPS的Redis系统
查看>>
NetBeans使用Consolas中文乱码的解决
查看>>
a标签href不跳转 禁止跳转
查看>>
使用jQuery.form插件,实现完美的表单异步提交
查看>>
JS_工厂模式
查看>>
ECShop后台管理菜单修改
查看>>
asp.net 简单分页打印
查看>>
C#接口知识大全收藏
查看>>
faad解码aac
查看>>
微软的坑:Url重写竟然会引起IIS内核模式缓存不工作
查看>>
iOS 打包静态类库 lib.a
查看>>
数据字典生成工具之旅(5):DocX组件读取与写入Word
查看>>
linux下遍历目录
查看>>
从‘void*’到‘int’的转换损失精度
查看>>
AJAX的同步返回结果值
查看>>
SSIS: 把存储在数据库中的图片导出来
查看>>