我将在应用程序中使用两个不同的日志文件。 Log4j配置文件是这样的:
log4j.rootLogger= false
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File= D\:\\default.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.instLog = org.apache.log4j.FileAppender
log4j.appender.instLog.File= D\:\\install.log
log4j.appender.instLog.DatePattern='.'yyyy-MM-dd
log4j.appender.instLog.Append=true
log4j.appender.instLog.layout=org.apache.log4j.PatternLayout
log4j.appender.instLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.updateLog = org.apache.log4j.FileAppender
log4j.appender.updateLog.File= D\:\\update.log
log4j.appender.updateLog.DatePattern='.'yyyy-MM-dd
log4j.appender.updateLog.Append=true
log4j.appender.updateLog.layout=org.apache.log4j.PatternLayout
log4j.appender.updateLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
和java代码是这样的:
public class AppTest {
private static Logger update = Logger.getLogger("update.log");
private static Logger install = Logger.getLogger("install.log");
public static void main(String[] args) {
update.info("Update");
install.info("Install");
}
}
但在运行时我得到了这个:
log4j:WARN No appenders could be found for logger (update.log).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
哪里错了?
答案 0 :(得分:0)
update.log是appender的名称而不是记录器。您必须将已定义的appender附加到某些记录器。
答案 1 :(得分:0)
在log4j.properties中,您需要使用如下类别:
log4j.category.updateLogger=TRACE, debugLog
log4j.additivity.updateLogger=false
log4j.category.installLogger=DEBUG, reportsLog
log4j.additivity.installLogger=false
在你的java代码中,你应该使用类似的东西:
private static Logger update = Logger.getLogger("updateLogger");
private static Logger install = Logger.getLogger("installLogger");