2016-03-23 51 views
0

当前,我希望将特定类中的所有日志保存在特定文件中。 在我的课上,我已经实例化了我的记录器,并且在我的log4j.properties中,我不知道要编写什么信息,以便在特定文件中记录此特定类的所有信息。如何将特定类中的日志信息记录到特定文件中?

如果某人有一个例子,我把它:)

由于提前,

回答

1

这里是你开始一个log4j.properties文件,可以得到一个非常简单的例子:

log4j.logger.com.yourpackage.yourclass=INFO, YourLoggerName 

log4j.appender.YourLoggerName=org.apache.log4j.RollingFileAppender 
log4j.appender.YourLoggerName.File=/path/to/logfile/forthisappender 
log4j.appender.YourLoggerName.MaxFileSize=5M 
log4j.appender.YourLoggerName.MaxBackupIndex=10 
log4j.appender.YourLoggerName.layout=org.apache.log4j.PatternLayou 
log4j.appender.YourLoggerName.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %m%n 

有更完整的信息here

1

嗨,你可以通过这样一个事,

方法1:

首先准备2-separate log4j配置文件,让我们说,例如,

1. log4JMy.properties (for whole application , we can called it default) 
2. log4jMy2.properties (for specific class here in your case) 

到特定类,你可以re-configure log4j性能同样,

org.apache.log4j.PropertyConfigurator.configure("log4jMy2.properties");* 

这将修改存在log4j配置,你可以override它由您的log4jMy2.properties文件。

因此,对于那个类完美的作品,但是你需要re-set to default,以便再次回到log4j工作正常/默认方式。


方法-2:

到您log4j.properties文件,

分配不同的水平,具有合适的构型变化, 换例如,

log4j.rootLogger=DEBUG,FILE,ERROR_FILE 

log4j.appender.FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.FILE.file=${catalina.base}/logs/myApplicationLogs.log 
log4j.appender.FILE.Append=true 
log4j.appender.FILE.Encoding=UTF-8 
log4j.appender.FILE.MaxFileSize=5MB 
log4j.appender.FILE.MaxBackupIndex=10 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n 

log4j.appender.ERROR_FILE=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.ERROR_FILE.file=${catalina.base}/logs/error_myApplicationLogs.log 
log4j.appender.ERROR_FILE.Append=true 
log4j.appender.ERROR_FILE.Encoding=UTF-8 
log4j.appender.ERROR_FILE.MaxFileSize=5MB 
log4j.appender.ERROR_FILE.MaxBackupIndex=10 
log4j.appender.ERROR_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ERROR_FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n 

作为根据以上配置,从应用程序,

LOG.debug("some text"); // it will print into myApplicationLogs.log file 

无论走到哪里, 如果你是写,

LOG.error("some erroneous text "); // it will print into error_myApplicationLogs.log file. 

将打印日志按log4j的配置文件明智到您的对应记录文件,好运...!

相关问题