Java Log4j多附加器
我使用的是apachelog4j。 我想添加2个附加器。一个用于某种目的,另一个用于其他目的。 日志内容不会同时发送到两个附加器。 让我有两个附加器file1和file2。 然后,file1的记录器打印file1.log中的记录。Java Log4j多附加器,java,log4j,Java,Log4j,我使用的是apachelog4j。 我想添加2个附加器。一个用于某种目的,另一个用于其他目的。 日志内容不会同时发送到两个附加器。 让我有两个附加器file1和file2。 然后,file1的记录器打印file1.log中的记录。 file2的andLogger打印file2.log中的记录 您可以使用此snip代码登录2文件: log4j.rootLogger=INFO log4j.appender.debugLog=org.apache.log4j.FileAppender log4j.a
file2的andLogger打印file2.log中的记录 您可以使用此snip代码登录2文件:
log4j.rootLogger=INFO
log4j.appender.debugLog=org.apache.log4j.FileAppender
log4j.appender.debugLog.File=logs/debug.log
....
log4j.appender.reportsLog=org.apache.log4j.FileAppender
log4j.appender.reportsLog.File=logs/reports.log
....
log4j.category.debugLogger=TRACE, debugLog
log4j.additivity.debugLogger=false
log4j.category.reportsLogger=DEBUG, reportsLog
log4j.additivity.reportsLogger=false
并在需要调用日志时使用此选项:
static final Logger debugLog = Logger.getLogger("debugLogger");
static final Logger resultLog = Logger.getLogger("reportsLogger");
另外,如果您已经有日志并且不想更改日志初始化。Log4j支持您根据包或全质量模式指定
log4j.rootLogger=DEBUG, CONSOLE
# Each package has different appender name
log4j.logger.com.mycorp.project.first=DEBUG, FIRST
log4j.logger.com.mycorp.project.second=DEBUG, SECOND
log4j.appender.FIRST=org.apache.log4j.RollingFileAppender
log4j.appender.FIRST.File=./first.log
log4j.appender.FIRST.layout=org.apache.log4j.PatternLayout
log4j.appender.SECOND=org.apache.log4j.RollingFileAppender
log4j.appender.SECOND.File=./second.log
log4j.appender.SECOND.layout=org.apache.log4j.PatternLayout
您可以使用此snip代码登录2文件:
log4j.rootLogger=INFO
log4j.appender.debugLog=org.apache.log4j.FileAppender
log4j.appender.debugLog.File=logs/debug.log
....
log4j.appender.reportsLog=org.apache.log4j.FileAppender
log4j.appender.reportsLog.File=logs/reports.log
....
log4j.category.debugLogger=TRACE, debugLog
log4j.additivity.debugLogger=false
log4j.category.reportsLogger=DEBUG, reportsLog
log4j.additivity.reportsLogger=false
并在需要调用日志时使用此选项:
static final Logger debugLog = Logger.getLogger("debugLogger");
static final Logger resultLog = Logger.getLogger("reportsLogger");
另外,如果您已经有日志并且不想更改日志初始化。Log4j支持您根据包或全质量模式指定
log4j.rootLogger=DEBUG, CONSOLE
# Each package has different appender name
log4j.logger.com.mycorp.project.first=DEBUG, FIRST
log4j.logger.com.mycorp.project.second=DEBUG, SECOND
log4j.appender.FIRST=org.apache.log4j.RollingFileAppender
log4j.appender.FIRST.File=./first.log
log4j.appender.FIRST.layout=org.apache.log4j.PatternLayout
log4j.appender.SECOND=org.apache.log4j.RollingFileAppender
log4j.appender.SECOND.File=./second.log
log4j.appender.SECOND.layout=org.apache.log4j.PatternLayout
创建两个附加器,如下所示:
public static final Logger loggerOne= LoggerFactory.getLogger("com.mylogger.loggerOne");
public static final Logger loggerTwo= LoggerFactory.getLogger("com.mylogger.loggerTwo");
log4j.rootLogger=INFO,file ,console
log4j.logger.com.mylogger.loggerOne=INFO,firstLog
log4j.appender.firstLog.File=C:/Imran/logs/firstLog.log
log4j.appender.firstLog.DatePattern='.'yyyy-MM-dd
log4j.appender.firstLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.firstLog.layout=org.apache.log4j.PatternLayout
log4j.appender.firstLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
log4j.logger.com.mylogger.loggerTwo=INFO,secondLog
log4j.appender.secondLog.File=C:/Imran/logs/secondLog.log
log4j.appender.secondLog.DatePattern='.'yyyy-MM-dd
log4j.appender.secondLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.secondLog.layout=org.apache.log4j.PatternLayout
log4j.appender.secondLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
然后配置Log4j.properties文件,如下所示:
public static final Logger loggerOne= LoggerFactory.getLogger("com.mylogger.loggerOne");
public static final Logger loggerTwo= LoggerFactory.getLogger("com.mylogger.loggerTwo");
log4j.rootLogger=INFO,file ,console
log4j.logger.com.mylogger.loggerOne=INFO,firstLog
log4j.appender.firstLog.File=C:/Imran/logs/firstLog.log
log4j.appender.firstLog.DatePattern='.'yyyy-MM-dd
log4j.appender.firstLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.firstLog.layout=org.apache.log4j.PatternLayout
log4j.appender.firstLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
log4j.logger.com.mylogger.loggerTwo=INFO,secondLog
log4j.appender.secondLog.File=C:/Imran/logs/secondLog.log
log4j.appender.secondLog.DatePattern='.'yyyy-MM-dd
log4j.appender.secondLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.secondLog.layout=org.apache.log4j.PatternLayout
log4j.appender.secondLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
在代码中使用loggerOne.info()和loggerTwo.info()分别打印文件firstLog.log和secondLog.log。创建两个附录,如下所示:
public static final Logger loggerOne= LoggerFactory.getLogger("com.mylogger.loggerOne");
public static final Logger loggerTwo= LoggerFactory.getLogger("com.mylogger.loggerTwo");
log4j.rootLogger=INFO,file ,console
log4j.logger.com.mylogger.loggerOne=INFO,firstLog
log4j.appender.firstLog.File=C:/Imran/logs/firstLog.log
log4j.appender.firstLog.DatePattern='.'yyyy-MM-dd
log4j.appender.firstLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.firstLog.layout=org.apache.log4j.PatternLayout
log4j.appender.firstLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
log4j.logger.com.mylogger.loggerTwo=INFO,secondLog
log4j.appender.secondLog.File=C:/Imran/logs/secondLog.log
log4j.appender.secondLog.DatePattern='.'yyyy-MM-dd
log4j.appender.secondLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.secondLog.layout=org.apache.log4j.PatternLayout
log4j.appender.secondLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
然后配置Log4j.properties文件,如下所示:
public static final Logger loggerOne= LoggerFactory.getLogger("com.mylogger.loggerOne");
public static final Logger loggerTwo= LoggerFactory.getLogger("com.mylogger.loggerTwo");
log4j.rootLogger=INFO,file ,console
log4j.logger.com.mylogger.loggerOne=INFO,firstLog
log4j.appender.firstLog.File=C:/Imran/logs/firstLog.log
log4j.appender.firstLog.DatePattern='.'yyyy-MM-dd
log4j.appender.firstLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.firstLog.layout=org.apache.log4j.PatternLayout
log4j.appender.firstLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
log4j.logger.com.mylogger.loggerTwo=INFO,secondLog
log4j.appender.secondLog.File=C:/Imran/logs/secondLog.log
log4j.appender.secondLog.DatePattern='.'yyyy-MM-dd
log4j.appender.secondLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.secondLog.layout=org.apache.log4j.PatternLayout
log4j.appender.secondLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%m%n
在代码中使用loggerOne.info()和loggerTwo.info()分别在文件firstLog.log和secondLog.log中打印。检查此检查是否可能在同一个包/java文件上,信息日志转到文件1,错误日志转到文件2?是否可能在同一个包/java文件上,信息日志转到文件1,错误日志转到文件2?