#分模块配置文件多个logger,每个模块有自己单独的输出位源,彼此不影响
log4j.logger.AppUser=INFO,A1
log4j.logger.AppDebug=DEBUG,A2
# additivity属性设为false,“不继承root”
log4j.additivity.AppUser=false
log4j.additivity.AppDebug=false
#记录应用程序日志(INFO、WARN、ERROR三级),用户用
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.file=log/appUser/AppUser.log
#log4j.appender.A1.file=AppUser.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%p%n%d%x%n%l%n%m%n
#记录应用程序日志(DEBUG、INFO、WARN、ERROR四级),开发人员调试追踪程序用
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.file=log/appDebug/AppDebug.log
#log4j.appender.A2.file=AppDebug.log
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%p%n%d%x%n%l%n%m%n
如何将上面的改成xml格式的?另外这种分模块的,在程序中怎么调用的?
应该不是用static Logger logger = Logger.getLogger(xxx.class)吧,是不是static Logger logger = Logger.getLogger(A1)?还有改成xml后怎么调用的呢?望解答,谢谢!
应该是这样调用的吧:
Logger logger = Logger.getLogger("AppUser");
其中AppUser是你定义的Logger的名称。
那改成xml格式的,A1是不是这样的:
<appender name="A1" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/appUser/AppUser.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p%n%d%x%n%l%n%m%n" />
</layout>
</appender>
<logger name="AppUser">
<level value="debug" />
<appender-ref ref="A1" />
</logger>
调用也是Logger logger = Logger.getLogger("AppUser");
是吗?