使用log4j实现多个日志位置的最佳方法是什么



我必须使用包括多个模块的log4j输入输出项目来实现多个日志位置,对于每个模块,我必须记录在单独的位置

也许本文中的log4j.properties可以帮助您查找所需内容。http://ta.cnci.org/more-about-java/35-java-blogs/238-dailyfileappender也许你可以使用我不久前写的DailyFileAppender.java。这个想法很简单,分为四个部分:

  1. 设置log4j.rootCategory以包含您的"FILE DEF">
  2. 定义您的"文件DEF",如log4j.appender.SOADALY
  3. 告诉Logger将其过滤到您的"FILE DEF"中,如下所示:log4j.Logger.com.incresearch.soa.db=DEBUG,TDLDALY
  4. 告诉Logger不要从其他地方删除,因为:log4j.additiony.org.cnci.tdl=false

但这里有一个例子:

#------------------------------------------------------------------------------#默认的log4j.properties文件。这应该在LocalFiles文件夹中##可能的日志级别:#致命,错误,警告,信息,调试#log4j.rootCategory=调试,SOADAILY,TDLDAILYlog4j.logger.org.apache=错误#------------------------------------------------------------------------------#以下属性配置每日滚动文件附加程序。#对于SOA组件,主要来自org.cnci.SOA.*包#------------------------------------------------------------------------------log4j.appender.SOADAILY=org.cnci.util.DailyFileAppenderlog4j.appender.SOADAILY.File=logs/SOAServices.loglog4j.appender.SOADAILY.MaxLogs=30log4j.appender.SOADAILY.Append=真log4j.appender.SOADAILY.DatePattern='.'yyy MM ddlog4j.appender.SOADAILY.layout=org.apache.log4j.PatternLayoutlog4j.appender.SOADAILY.layout.ConverrsionPattern=%d%5p%c{1}:%L-%m%n#------------------------------------------------------------------------------#以下属性为TDL配置每日滚动文件附加程序。#对于TDL应用程序,主要来自org.cnci.TDL.*包和jboss seams,richfaces。。。#------------------------------------------------------------------------------log4j.appender.TDLDAILY=org.apache.log4j.FileAppenderlog4j.appender.TDLDAILY.File=logs/TDLServices.loglog4j.appender.TDLDAILY.MaxLogs=30log4j.appender.TDLDAILY.Append=真log4j.appender.TDLDAILY.DatePattern='.'yyy MM ddlog4j.appender.TDLDAILY.layout=org.apache.log4j.PatternLayoutlog4j.appender.TDLDAILY.layout.ConverrsionPattern=%d%5%p%c{1}:%L-%m%n#正在将所有适配器日志提取到自己的文件中log4j.logger.org.cnci.soa=调试,SOADAILYlog4j.additivity.org.cnci.soa=falselog4j.logger.com.hazzecast=错误,SOAlog4j.additivity.com.hazelcast=falselog4j.logger.org.opensaml=错误,SOAlog4j.additionity.org.opensaml=false#将所有DB(TDL)日志提取到自己的文件中log4j.logger.com.incresearch.soa.db=调试,TDLDALYlog4j.additivity.org.cnci.tdl=falselog4j.logger.org.jboss.seam=错误,每天log4j.additivity.org.jboss.seam=falselog4j.logger.org.rechfaces=错误,每天log4j.additivity.org.richfaces=falselog4j.logger.org.ajax4jsf=错误,每天log4j.additiony.org.ajax4jsf=false

在这里查看我的答案:Log4j将json数组写入磁盘

它展示了如何将com.foo.bar日志发送到控制台,将com.example发送到文件附加程序;您可以混合和匹配-基本上是log4j.com之后的包名称。part将为根在那里的类的子树创建一个新的记录器;如果在子代包中需要更改位置(记住,默认情况下appenders是可添加的),则必须将"inherit"设置为"false"。

相关内容

最新更新