log4j2配置文件动态指定日志文件名称
2016-01-13 20:12
435 查看
按照习惯性思维,log4j2中xml中取系统属性应该和log4j一样,但是结果却并不是我们想的这样,存在一定的差别,log4j中的配置可参考 log4j配置文件动态指定日志文件名称 。
现在就来看看到底有什么区别,java代码这块没什么变化:
xml 配置文件:
哪个地方有区别 ,发现了么?
如果仔细观察,可能会发现取值方式有一点变化 log4j中取值是${log4fFile}, log4j2中取值是${sys:log4fFile} ,log4j2中再按照log4j的方式去取值,是取不到的。
现在就来看看到底有什么区别,java代码这块没什么变化:
if (args.length >= 0) { System.setProperty("log4fFile", args[0]); } else { System.setProperty("log4fFile", "runtimeTest.log"); }
xml 配置文件:
<?xml version="1.0" encoding="UTF-8"?> <configuration status="error"> <appenders> <Console name="Console" target="SYSTEM_OUT"> <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/> </Console> <RollingFile name="RollingFile" fileName="log/${sys:log4fFile}" filePattern="log/$${date:yyyy-MM-dd}/%d{yyyyMMddHHmmss}-${sys:log4fFile}.log"> <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss/} %-5p] [%t] (%c:%L) - %m%n" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="50 MB"/> </Policies> <DefaultRolloverStrategy max="100" /> </RollingFile> </appenders> <loggers> <root level="debug"> <appender-ref ref="RollingFile"/> <appender-ref ref="Console"/> </root> </loggers> </configuration>
哪个地方有区别 ,发现了么?
如果仔细观察,可能会发现取值方式有一点变化 log4j中取值是${log4fFile}, log4j2中取值是${sys:log4fFile} ,log4j2中再按照log4j的方式去取值,是取不到的。
相关文章推荐
- C语言的静态函数
- MySQL数据类型及范围用法一览表
- 如何处理异步事件的回调,比如http请求。
- C++ 里大写TRUE和小写true区别
- 使用Delphi命名空间
- 【codeforces 165E】 - Compatible Numbers 【位运算】
- java 解析xml字符串
- Android一些经验技巧(持续更新)
- 再说CSS3渐变——线性渐变
- 面试题12:打印1到最大的n位数
- 三种java 去掉字符串中的重复字符函数
- 文件只能安装一次
- 软件测试_BadBoy自动化测试工具10_导出脚本用于JMeter性能测试
- Android中的Selector的用法
- java递归算法,例子从1到100的整数和。
- 2_1、OSI参考模型和TCP/IP协议族
- 【UE4学习】01——UE4下载与安装
- 液晶屏LVDS,TTL,RSDS接口样式的区别方法
- 内核等待队列
- 处理重复问题