现有两个log4j配置log4j-a.properties,log4j-b.properties;两个配置的内容不同,写入的文件也不同。 有如下一段code loadConfig(log4j-a.properties)
part 1
loadConfig(log4j-b.properties)
part 2
part 3 现在要使part 1,part3的log按照log4j-a.properties去写,part2的log按照log4j-b.properties去写
有什么办法可以实现吗? loadConfig这里都可以显示的用api去读properties文件
part 1
loadConfig(log4j-b.properties)
part 2
part 3 现在要使part 1,part3的log按照log4j-a.properties去写,part2的log按照log4j-b.properties去写
有什么办法可以实现吗? loadConfig这里都可以显示的用api去读properties文件
log4j.logger.Test1=info,t1
log4j.appender.t1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.t1.File=d:\\T1.log
log4j.appender.t1.DatePattern='.'yyyy-MM-dd
log4j.appender.t1.layout=org.apache.log4j.PatternLayout
log4j.appender.t1.layout.ConversionPattern=%p,%t,%l,%d{ISO8601}, - ,%m%n
log4j.logger.Test2=info,t2
log4j.appender.t2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.t2.File=d:\\T2.log
log4j.appender.t2.DatePattern='.'yyyy-MM-dd
log4j.appender.t2.layout=org.apache.log4j.PatternLayout
log4j.appender.t2.layout.ConversionPattern=%p,%d{ISO8601}, - ,%m%n
Logger logger1 = Logger.getLogger("Test1");
Logger logger2 = Logger.getLogger("Test2");logger1.info("part 1");
logger1.info("part 3");
logger2.info("part 2");
<appender name="log111" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logfile111.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t]...."/>
</layout>
</appender>
<appender name="log222" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logfile222.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t]...."/>
</layout>
</appender> <logger name="com.jathon.pack1111" additivity="false">
<level value="debug"/>
<appender-ref ref="log111"/>
</logger>
<logger name="com.jathon.pack222" additivity="false">
<level value="INFO"/>
<appender-ref ref="log222" />
</logger>
如果是根据包不同来区分写入哪个log文件,只要如上配置就可以。
如果其他区分方式,那就在需要写log的类中Log log = LogFactory.getLog("com.jathon.pack222")