如何将特定class的日志信息记录到特定的文件中?
How to record log information from a specific class into a specific file?
目前,我希望将指定 class 中的所有日志保存在特定文件中。
在我的 class 中,我已经实例化了我的记录器,而在我的 log4j.properties
中,我不知道要写什么信息,以便在特定的 class 中记录所有信息文件。
谁有例子,我就拿:)
提前致谢,
这是一个非常基本的 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
您好,您可以通过以下方式之一完成,
方法一:
首先准备好2-separate log4j
配置文件 比方说,
1. log4JMy.properties ( for whole application , we can called it default)
2. log4jMy2.properties ( for specific class here in your case )
进入您的特定 class 您同样可以 re-configure log4j
属性,
org.apache.log4j.PropertyConfigurator.configure("log4jMy2.properties");*
这将修改存在的 log4j
配置,您可以通过 log4jMy2.properties
文件 override
它。
所以 class 完美地工作,但是你再次需要 re-set to default
以便再次回到 log4j
工作 normally/default 方式。
方法二:
进入你的 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.
it will print logs as per log4j configuration file-wise into your corresponds logging file, best of luck...!
目前,我希望将指定 class 中的所有日志保存在特定文件中。
在我的 class 中,我已经实例化了我的记录器,而在我的 log4j.properties
中,我不知道要写什么信息,以便在特定的 class 中记录所有信息文件。
谁有例子,我就拿:)
提前致谢,
这是一个非常基本的 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
您好,您可以通过以下方式之一完成,
方法一:
首先准备好2-separate log4j
配置文件 比方说,
1. log4JMy.properties ( for whole application , we can called it default)
2. log4jMy2.properties ( for specific class here in your case )
进入您的特定 class 您同样可以 re-configure log4j
属性,
org.apache.log4j.PropertyConfigurator.configure("log4jMy2.properties");*
这将修改存在的 log4j
配置,您可以通过 log4jMy2.properties
文件 override
它。
所以 class 完美地工作,但是你再次需要 re-set to default
以便再次回到 log4j
工作 normally/default 方式。
方法二:
进入你的 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.
it will print logs as per log4j configuration file-wise into your corresponds logging file, best of luck...!