如何将特定类的日志信息记录到特定文件中?

时间:2016-03-23 14:36:44

标签: java log4j

目前,我希望保存特定文件中指定类的所有日志。 在我的课堂上,我已经实例化了我的记录器,在我的log4j.properties我不知道要写什么信息,以便在特定文件中记录这个特定类的所有信息。

如果有人有例子,我会接受:)

提前致谢,

2 个答案:

答案 0 :(得分:2)

这是一个可以帮助您入门的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)

嗨,你可以通过这种方式之一,

方法-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。{/ p>

因此,如果该课程完美无缺,那么您需要再次re-set to default,以便再次回到log4j正常/默认方式。

方法-2:

进入你的log4j.properties文件,

分配不同的LEVEL,并进行适当的配置更改, 换例如,

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配置文件将日志打印到对应的日志文件中,祝你好运......!