对于log4j2,是否可以针对不同的日志级别使用不同的模式布局并输出到SYSTEM_OUT?
这是我的log4j2.xml:
但是,INFO级别消息以"infoMsg"和"debugMsg"模式显示.
2015-12-24 10:51:56.176 Log4j is ready. [INFO ] 2015-12-24 10:51:56.176 com.myftpserver.MyFtpServer.(MyFtpServer.java:65) - Log4j is ready. 2015-12-24 10:51:56.176 Configuration file is loaded [INFO ] 2015-12-24 10:51:56.176 com.myftpserver.Configuration.load(Configuration.java:74) - Configuration file is loaded [DEBUG] 2015-12-24 10:51:56.176 com.myftpserver.Configuration.load(Configuration.java:82) - supportPassiveMode=true 2015-12-24 10:51:56.301 User Manager class is loaded. [INFO ] 2015-12-24 10:51:56.301 com.myftpserver.Configuration.load(Configuration.java:119) - User Manager class is loaded. 2015-12-24 10:51:56.301 File Manager class is loaded. [INFO ] 2015-12-24 10:51:56.301 com.myftpserver.Configuration.load(Configuration.java:121) - File Manager class is loaded. 2015-12-24 10:51:56.301 Server Initialization completed. [INFO ] 2015-12-24 10:51:56.301 com.myftpserver.MyFtpServer. (MyFtpServer.java:69) - Server Initialization completed. 2015-12-24 10:51:56.301 Available passive port:[1232, 1233, 1234] [INFO ] 2015-12-24 10:51:56.301 com.myftpserver.MyFtpServer. (MyFtpServer.java:75) - Available passive port:[1232, 1233, 1234]
那么,是否可以删除重复项?
非常感谢你和Merry X'mas
最新版本的Log4j2允许使用模式选择器而不仅仅是单个模式.Log4j提供基于标记的选择器,但不提供基于级别的选择器.创建一个Jira问题,我将添加它.但是,Log4j允许您使用脚本来选择模式.编写一个基于级别选择的文件会很简单.
在上面的配置中,调试appender也将输出信息级事件,这就是你看到重复项的原因.
我没有测试过,但我相信下面的配置应该做你想要的: