Log4j配置实践
来源:互联网 发布:淘宝退货率怎么看 编辑:程序博客网 时间:2024/04/30 18:38
在使用log4j打印应用日志的时候,有同事问我,同一个logger的日志的不同level可以输出到不同的文件么?这个。。。我告诉他当然可以,在我们使用Log4j的生产环境中一直都是把所有logger的error 以上level日志统一输入到错误日志文件,方便系统监控。
其实这个很容易实现,我们的做法就是在logger里面加入2个appender,appender设置不同的min和max level,具体如下:
<logger name="com...." additivity="false"> <appender-ref ref="normal"/> <appender-ref ref="error"/></logger>
<appender name="normal" class="org.apache.log4j.FileAppender"> <param name="file" value="${log}/normal.log"/> <param name="append" value="true"/> <layout class="org.apache.log4j.PatternLayout"> <param name="conversionPattern" value="%m%n"/> </layout> <filter> <param name="levelMax" value="warn" /> </filter></appender><appender name="error" class="org.apache.log4j.FileAppender"> <param name="file" value="${log}/error.log"/> <param name="append" value="true"/> <layout class="org.apache.log4j.PatternLayout"> <param name="conversionPattern" value="%m%n"/> </layout> <filter> <param name="levelMin" value="error" /> </filter></appender>Note:在使用Log4j的Web应用测试环境中,我们经常会结合Spring的Log4jConfigListener来实现log的动态更新。下面的例子说明每6秒读取一次web-fin/log4j.xml的变动
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/log4j.xml</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>6000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
Log4j.xml文件例子
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'><appender name="normal" class="org.apache.log4j.RollingFileAppender"><param name="file" value="normal.log" /><param name="MaxBackupIndex" value="10" /><param name="maxFileSize" value="10KB" /><param name="append" value="true" /><layout class="org.apache.log4j.PatternLayout"><param name="conversionPattern" value="%m%n" /></layout><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="levelMax" value="warn" /></filter></appender><appender name="error" class="org.apache.log4j.DailyRollingFileAppender"><param name="file" value="error.log" /><param name="append" value="true" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="conversionPattern" value="%m%n" /></layout><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="levelMin" value="error" /></filter></appender><logger name="com.elulian.CustomerSecurityManagementSystem" additivity="false"><level value="trace" /><appender-ref ref="normal" /><appender-ref ref="error" /></logger><root> <level value="info" /><appender-ref ref="normal" /><appender-ref ref="error" /></root></log4j:configuration>
0 0
- Log4j配置实践
- FLume收集log4j日志配置实践
- log4j---log4j 的配置
- log4j.properties log4j 配置
- log4j配置log4j.properties
- [Log4j] 配置Log4j
- 配置Log4j,Log4j教程
- [Log4j] 配置Log4j
- Log4j 几个最佳实践
- log4j-struts2实践
- Log4j最佳实践
- Log4j最佳实践
- Log4j最佳实践
- Log4j日志工具实践
- Log4j最佳实践
- log4j配置
- Log4j 配置
- Log4j配置
- Unity学习之不同的怪物自动生成到自己的初始位置
- TestODBC
- LayoutInflater的错误用法
- mega328p watchdog 无效解决方案
- 砖籽揍踪足赘醉紫啄字撞族装抓租总壮注
- Log4j配置实践
- 搭建一个wordpress博客的一点感想
- 咻..
- [算法系列]三色旗
- 新的生活——博客记录成长
- Ubuntu14.04--系统中解压rar和zip文件的方法
- HTTP Status Code
- 小波基函数的选择和小波构造
- eclipse中创建web service