log4j2 HTTP请求日志异步
来源:互联网 发布:国外vps推荐 知乎 编辑:程序博客网 时间:2024/05/16 03:00
1、首先maven项目加入依赖包
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.9.0</version></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.9.0</version></dependency><dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> <version>3.3.4</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.0</version></dependency>
2、进行log4j2.xml文件配置。
将配置文件log4j2.xml配置到classpath下面。以下是简单的xml配置。其中apperders元素配置了Http 其实调用的就是log4j2 core包下org.apache.logging.log4j.core.appender.HttpAppender这个处理类
<?xml version="1.0" encoding="UTF-8"?><configuration> <appenders> <Http name="Http" url="http://localhost:29010/compass/log"> <JsonLayout properties="true"/> </Http> </appenders> <loggers> <!--logger 继承root 此配置是输出com.spring.mvc 下面的error及以上的日志到 RollingFile 项--> <!--additivity = true 则root日志也输出。false则不执行root日志--> <Logger name="com.spring.mvc" level="error" additivity="true"> <AppenderRef ref="Http"/> </Logger> </loggers></configuration>
通过以上配置则实现了http日志请求。
3、properties配置文件实现异步
同样在classpath下面加入log4j2.component.properties配置文件添加以下配置
Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
也可以在代码中将其加上系统配置如:
System.setProperty("Log4jContextSelector","org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
以下是业务调用日志输出
private static Logger log=LogManager.getLogger(LogController.class);@RequestMapping("/log")String log() { log.info("info test"); log.warn("warn test"); log.error("error test"); return "ok";}
如果没有这个系统配置。业务当中调用的这个Logger对象将是
org.apache.logging.log4j.core.Logger
加上了这个系统配置则Logger对象是
org.apache.logging.log4j.core.async.AsyncLogger
4、日志信息
以下是日志服务器也就是log4j2.xm所配置的http://localhost:29010/compass/log这台日志服务所接收到的json日志
{ "timeMillis" : 1507620120885, "thread" : "http-nio-8081-exec-2", "level" : "ERROR", "loggerName" : "com.spring.mvc.web.controller.LogController", "message" : "error test", "endOfBatch" : true, "parameterCount" : 0, "formattedMessage" : "error test", "loggerFqcn" : "org.apache.logging.log4j.spi.AbstractLogger", "threadPriority" : 5, "threadId" : 50, "contextMap" : { }}
阅读全文
0 0
- log4j2 HTTP请求日志异步
- Log4j2实现异步日志
- LOG4J2 异步日志
- LOG4J2 异步日志
- 升级log4j2.x异步日志
- Log4j2使用总结(异步日志)
- log4j2日志异步打印 (3)
- 日志系列之Log4j2异步Loggers
- 异步发送HTTP请求
- Java异步HTTP请求
- Android Http 异步请求
- http异步请求
- HTTP同步/异步请求
- 异步请求http地址
- php异步http请求
- jquery异步http请求
- Java异步HTTP请求
- $http AngularJS异步请求
- 关于数组的排序
- 最小生成树(数据结构)
- hive的初认识
- 小程序GPS定位
- 5.ActiveMQ特性
- log4j2 HTTP请求日志异步
- 外链
- 解决意外发布错误内容要花多长时间
- web前端笔记:CSS top属性问题
- linux命令之管理输入输出
- 微软灯管问题
- Android优秀开源项目
- ford: ($27$67)Security Access
- 常用实用的php函数小结