标签:style blog http color 使用 strong
1.基础配置##Log4J的配置之简单使它遍及于越来越多的应用中了
##Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。
##一般来说常用的还是输出到日志文件或者数据库,本例中使用输出到文件的方式
##Log4j建议只使用四个级别,优先级从低到高分别是DEBUG,INFO,WARN,ERROR
#通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关
#比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来
log4j.rootLogger = INFO,CONSOLE,LogFile,ErrorFile
log4j.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.PatternLayout
log4j.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.DailyRollingFileAppender
log4j.appender.LogFile.File = ../logs/standard_log4j_log.log
log4j.appender.LogFile.Append = true
log4j.appender.LogFile.ImmediateFlush = true
log4j.appender.LogFile.DatePattern=‘.‘yyyy-MM-dd
log4j.appender.LogFile.Threshold = INFO
log4j.appender.LogFile.layout = org.apache.log4j.PatternLayout
log4j.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.log
log4j.appender.ErrorFile.Append = true
log4j.appender.ErrorFile.ImmediateFlush=true
log4j.appender.ErrorFile.DatePattern=‘.‘yyyy-MM-dd
log4j.appender.ErrorFile.Threshold=ERROR
log4j.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.log log4j.appender.LogFile.Append = true log4j.appender.LogFile.ImmediateFlush = true log4j.appender.LogFile.DatePattern=‘.‘yyyy-MM-dd log4j.appender.LogFile.Threshold = INFO log4j.appender.LogFile.layout = org.apache.log4j.PatternLayout log4j.appender.LogFile.layout.ConversionPattern ==${log4jPrefix} %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n
这样做的优点:
1.不同应用之间,只需要修改web.xml中的配置,即可以实现每个项目的日志输出前缀不一样,每个应用的日志文件文件名前缀不一致。
基础配置也可以实现此效果,但是需要每次在log4j.propertites中修改多个配置,容易漏掉。
标签:style blog http color 使用 strong
原文地址:http://www.cnblogs.com/sdjnzqr/p/3811972.html