首页 > 代码库 > log4j配置说明
log4j配置说明
1.基础配置
##Log4J的配置之简单使它遍及于越来越多的应用中了 ##Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。##一般来说常用的还是输出到日志文件或者数据库,本例中使用输出到文件的方式##Log4j建议只使用四个级别,优先级从低到高分别是DEBUG,INFO,WARN,ERROR #通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关 #比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来log4j.rootLogger = INFO,CONSOLE,LogFile,ErrorFilelog4j.addivity.org.apache = true# 应用于控制台log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold =INFO log4j.appender.CONSOLE.Target = System.out log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern ==standard %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n#文件输出路径可以使用${standard.root}代替 .../tomcat/webapps/standart目录# Save the log info to the log file #log4j.appender.LogFile = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.LogFile.File = ../logs/standard_log4j_log.loglog4j.appender.LogFile.Append = truelog4j.appender.LogFile.ImmediateFlush = truelog4j.appender.LogFile.DatePattern=‘.‘yyyy-MM-ddlog4j.appender.LogFile.Threshold = INFOlog4j.appender.LogFile.layout = org.apache.log4j.PatternLayoutlog4j.appender.LogFile.layout.ConversionPattern ==standard %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n#应用于文件# Save the error info to the error file. A file one day. #log4j.appender.ErrorFile = org.apache.log4j.DailyRollingFileAppender log4j.appender.ErrorFile.File = ../logs/standard_log4j_error.loglog4j.appender.ErrorFile.Append = truelog4j.appender.ErrorFile.ImmediateFlush=truelog4j.appender.ErrorFile.DatePattern=‘.‘yyyy-MM-ddlog4j.appender.ErrorFile.Threshold=ERRORlog4j.appender.ErrorFile.layout = org.apache.log4j.PatternLayout log4j.appender.ErrorFile.layout.ConversionPattern ==standard %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n# 结束
注意事项:
1.关于文件输出路径: ../logs/standard_log4j_error.log,生产环境下会将日志输出到tomcat的logs文件夹下,但是如果在Eclipse中使用tomcat布署应用时,日志会跑到eclipse的安装目录中。
2.关于文件输出路径,不建议使用绝对路径,会造成在不同的操作系统下日志的输出错误。
3.上述配置中的standard是项目名称,不同的项目中需要做不同的修改。
4.上述配置可以实现实现每个项目的日志输出前缀不一样,每个应用的日志文件文件名前缀不一致
2.优化配置
log4j配置中的项目名称“standard”关键字的问题,如果不想每个应用都改一次,可以做如下修改:
在初始化Listener中,添加代码
String project_name=servletContext.getInitParameter(“project_name”);System.setProperty("log4jPrefix",project_name);
在web.xml中可以配置
<context-param> <param-name>project_name_var</param-name> <param-value>standard</param-value> </context-param>
log4j.propertites中可以配置:
log4j.appender.LogFile.File = logs/${log4jPrefix}_log4j_log.loglog4j.appender.LogFile.Append = truelog4j.appender.LogFile.ImmediateFlush = truelog4j.appender.LogFile.DatePattern=‘.‘yyyy-MM-ddlog4j.appender.LogFile.Threshold = INFOlog4j.appender.LogFile.layout = org.apache.log4j.PatternLayoutlog4j.appender.LogFile.layout.ConversionPattern ==${log4jPrefix} %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n
这样做的优点:
1.不同应用之间,只需要修改web.xml中的配置,即可以实现每个项目的日志输出前缀不一样,每个应用的日志文件文件名前缀不一致。
基础配置也可以实现此效果,但是需要每次在log4j.propertites中修改多个配置,容易漏掉。
作者:sdjnzqr
出处:http://www.cnblogs.com/sdjnzqr/
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
出处:http://www.cnblogs.com/sdjnzqr/
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。