Log4J2的 PatternLayout
日志样例 :
1 2 | 2018 - 10 - 21 07 : 30 : 05 , 184 INFO - DeviceChannelServiceImpl.java: 434 [defaultEventExecutorGroup- 2 - 24 ] - batchGet time: 0 2018 - 10 - 21 07 : 30 : 05 , 191 ERROR - LechangeImplBussiness.java: 96 [defaultEventExecutorGroup- 2 - 24 ] - ability error, did=4E01748YAG4A2AA, ability in channel= 1 , ability in device= |
log4j2.xml 样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <?xml version= "1.0" encoding= "UTF-8" ?> <Configuration status= "info" > <!--先定义所有的appender--> <Appenders> <!--这个输出控制台的配置--> <Console name= "Console" target= "SYSTEM_OUT" > <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)--> <ThresholdFilter level= "info" onMatch= "ACCEPT" onMismatch= "DENY" /> <!--这个都知道是输出日志的格式--> <!--<PatternLayout pattern= "%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />--> <PatternLayout pattern= "%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %F:%L - %m%n" /> </Console> <!-- 异常信息打印--> <RollingRandomAccessFile name= "Error" fileName= "logs/error.log" filePattern= "./logs/error.log.%i" > <ThresholdFilter level= "error" onMatch= "ACCEPT" onMismatch= "DENY" /> <PatternLayout pattern= "%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %F:%L[%t] - %m%n" /> <SizeBasedTriggeringPolicy size= "200MB" /> <DefaultRolloverStrategy max= "20" /> </RollingRandomAccessFile> <!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档--> <!-- <RollingRandomAccessFile name= "RollingFile" fileName= "./logs/ads.log" filePattern= "./logs/$${date:yyyy-MM}/ads-%d{MM-dd-yyyy}-%i.log.gz" >--> <RollingRandomAccessFile name= "RollingFile" fileName= "./logs/server.log" filePattern= "./logs/server.log.%i" > <ThresholdFilter level= "info" onMatch= "ACCEPT" onMismatch= "DENY" /> <PatternLayout pattern= "%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %F:%L[%t] - %m%n" /> <SizeBasedTriggeringPolicy size= "200MB" /> <DefaultRolloverStrategy max= "20" /> </RollingRandomAccessFile> </Appenders> <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效--> <Loggers> <Logger name= "org.springframework" level= "info" additivity= "false" > <AppenderRef ref= "Console" /> <AppenderRef ref= "RollingFile" /> </Logger> <Logger name= "com.dahua" level= "info" additivity= "false" > <AppenderRef ref= "Console" /> <AppenderRef ref= "RollingFile" /> </Logger> <!--建立一个默认的root的logger--> <root level= "info" > <appender-ref ref= "RollingFile" /> <appender-ref ref= "Error" /> <appender-ref ref= "Console" /> </root> </Loggers> </Configuration> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· 盘点!HelloGitHub 年度热门开源项目
· DeepSeek V3 两周使用总结
· 02现代计算机视觉入门之:什么是视频
· C#使用yield关键字提升迭代性能与效率
· 2. 什么?你想跨数据库关联查询?