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

Java 如何将特定类中的日志信息记录到特定文件中?,java,log4j,Java,Log4j,目前,我希望将指定类中的所有日志保存在特定文件中。 在我的类中,我已经实例化了我的记录器,在我的log4j.properties中,我不知道要写什么信息,以便将这个特定类的所有信息记录到一个特定的文件中 如果有人举个例子,我就拿它为例:) 提前感谢,这里是一个非常基本的log4j.properties文件示例,可以帮助您开始: log4j.logger.com.yourpackage.yourclass=INFO, YourLoggerName log4j.appender.YourLogge

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

如果有人举个例子,我就拿它为例:)


提前感谢,

这里是一个非常基本的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

还有更完整的信息

这里是一个非常基本的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
还有更完整的信息

您好,您可以通过以下方式之一

方法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 )
在您的特定类中,您可以
重新配置log4j
属性

org.apache.log4j.PropertyConfigurator.configure("log4jMy2.properties");*
它将修改现有的
log4j
配置,您可以通过
log4jMy2.properties
文件来覆盖它

因此,对于该类,它可以完美地工作,但是您需要再次将
重新设置为默认值
,以便再次返回到
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配置文件将日志打印到相应的日志文件中,祝您好运

嗨,你可以这样做

方法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 )
在您的特定类中,您可以
重新配置log4j
属性

org.apache.log4j.PropertyConfigurator.configure("log4jMy2.properties");*
它将修改现有的
log4j
配置,您可以通过
log4jMy2.properties
文件来覆盖它

因此,对于该类,它可以完美地工作,但是您需要再次将
重新设置为默认值
,以便再次返回到
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配置文件将日志打印到相应的日志文件中,祝您好运