log4j2 常见配置并支持logId
来源:互联网 发布:网络图片大全 编辑:程序博客网 时间:2024/06/01 21:25
1、常见配置及解释
<?xml version="1.0" encoding="UTF-8"?><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --><!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出--><!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数--><configuration status="INFO" monitorInterval="30"> <!--先定义所有的appender--> <appenders> <!--这个输出控制台的配置--> <console name="Console" target="SYSTEM_OUT"> <!--输出日志的格式--> <PatternLayout pattern="[ %p ] [%-d{yyyy-MM-dd HH:mm:ss}] [ LOGID:%X{logid} ] [%l] %m%n"/> </console> <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用--> <File name="Test" fileName="log/test.log" append="false"> <PatternLayout pattern="[ %p ] %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] [%l] %m%n"/> </File> <RollingFile name="RollingFileInfo" fileName="log/log.log" filePattern="log/log.log.%d{yyyy-MM-dd}"> <!-- 只接受level=INFO以上的日志 --> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="[ %p ] [%-d{yyyy-MM-dd HH:mm:ss}] [ LOGID:%X{logid} ] [%l] %m%n"/> <Policies> <TimeBasedTriggeringPolicy modulate="true" interval="1"/> <SizeBasedTriggeringPolicy/> </Policies> </RollingFile> <RollingFile name="RollingFileError" fileName="log/error.log" filePattern="log/error.log.%d{yyyy-MM-dd}"> <!-- 只接受level=WARN以上的日志 --> <Filters> <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> <PatternLayout pattern="[ %p ] %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] [%l] %m%n"/> <Policies> <TimeBasedTriggeringPolicy modulate="true" interval="1"/> <SizeBasedTriggeringPolicy/> </Policies> </RollingFile> </appenders> <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效--> <loggers> <!--过滤掉spring和mybatis的一些无用的DEBUG信息--> <logger name="org.springframework" level="INFO"></logger> <logger name="org.mybatis" level="INFO"></logger> <root level="all"> <appender-ref ref="Console"/> <appender-ref ref="Test"/> <appender-ref ref="RollingFileInfo"/> <appender-ref ref="RollingFileError"/> </root> </loggers></configuration>
2、Java端配置
运行时指定上述log4j2.xml
的配置:
-Dlog4j.configurationFile=./conf/log4j2.xml
3、输出logId或者与log交互
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.apache.logging.log4j.ThreadContext;/** * Created by think on 2017/1/22 0022. */public class LogTest { private static final Logger logger = LogManager.getLogger(LogTest.class); static class test extends Thread { @Override public void run() { long time = System.currentTimeMillis(); ThreadContext.put("logid", String.valueOf( time)); logger.info("test thread."); ThreadContext.clearAll(); } } public static void main(String[] args) { long time = System.currentTimeMillis() ; ThreadContext.put("logid", String.valueOf(time)); try { logger.trace("trace..."); logger.debug("debug..."); logger.info("info..."); logger.warn("warn..."); logger.error("error..."); logger.fatal("fatal..."); test test1 = new test(); test test2 = new test(); test1.start(); test2.start(); } catch (Exception e) { e.printStackTrace(); } ThreadContext.clearAll(); }}
输出:
[ TRACE ] [2017-02-04 17:10:27] [ LOGID:199427158 ] [logtest.LogTest.main(LogTest.java:37)] trace...[ DEBUG ] [2017-02-04 17:10:27] [ LOGID:199427158 ] [logtest.LogTest.main(LogTest.java:38)] debug...[ INFO ] [2017-02-04 17:10:27] [ LOGID:199427158 ] [logtest.LogTest.main(LogTest.java:39)] info...[ WARN ] [2017-02-04 17:10:27] [ LOGID:199427158 ] [logtest.LogTest.main(LogTest.java:40)] warn...[ ERROR ] [2017-02-04 17:10:27] [ LOGID:199427158 ] [logtest.LogTest.main(LogTest.java:41)] error...[ FATAL ] [2017-02-04 17:10:27] [ LOGID:199427158 ] [logtest.LogTest.main(LogTest.java:42)] fatal...[ INFO ] [2017-02-04 17:11:38] [ LOGID:199498552 ] [logtest.LogTest$test.run(LogTest.java:20)] test thread.[ INFO ] [2017-02-04 17:11:38] [ LOGID:199498551 ] [logtest.LogTest$test.run(LogTest.java:20)] test thread.
本文代码可参考:https://github.com/hawkingfoo/log-test
阅读全文
0 0
- log4j2 常见配置并支持logId
- log4j2配置
- log4j2 配置
- Log4j2配置
- log4j2配置
- log4j2配置
- log4j2配置
- log4j2 支持彩色日志
- CodeIgniter支持smarty,并配置支持layout
- log4j2配置文件log4j2.xml配置详解
- Log4J2基本配置
- Spring log4j2配置
- log4j2配置mybatis日志
- log4j2配置及使用
- Log4j2开发配置
- log4j2配置及使用
- log4j2 配置与使用
- Log4j2的配置
- android 清单文件配置 屏幕横竖切换不影响生命周期
- 泛型是什么?为什么要使用泛型?
- 11.6-全栈Java笔记:什么是线程同步
- Android IPC机制
- [BZOJ]1228: [SDOI2009]E&D 博弈SG
- log4j2 常见配置并支持logId
- 基于Vuejs+Element的注册插件的编写
- 泛型的级别定义(转载)
- Ubuntu各个版本的镜像下载地址
- 【BZOJ】1045 [HAOI2008] 糖果传递 && 3293 [Cqoi2011]分金币 贪心
- 配色三部曲-创建自己的调色板
- HTML5里download属性
- HTML怎么级联编号 HTML级联编号如何实现
- log4j2 支持彩色日志