用log4j向多个日志文件发送类日志[英] Class loggin to multiple log files with log4j

本文是小编为大家收集整理的关于用log4j向多个日志文件发送类日志的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我希望我的应用程序登录两个文件:第一个文件,已经存在,并且将登录所有内容.第二个只能有条件日志.

这是我的log4j.properties:

log4j.rootCategory=DEBUG, FILE

log4j.logger.es.vf.pegaso=DEBBUG
log4j.logger.org=ERROR
log4j.logger.org.hibernate=ERROR
log4j.logger.org.displaytag=ERROR
log4j.logger.es.vf.pegaso.common.form.el.ElEvaluator=ERROR
log4j.logger.es.vf.pegaso.common.util.csvreader.CsvReaderElEvaluator=ERROR

log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.file=log/test.log
log4j.appender.FILE.Threshold=DEBUG
log4j.appender.FILE.MaxFileSize=3MB
log4j.appender.FILE.MaxBackupIndex=10
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS}\t%t\t%-5p\t[%c{1}]\t%m%n

为创建日志,我这样做:

private static final Logger logger = Logger.getLogger(*className*.class);

我尝试过,但似乎没有用:

log4j.category.App=FILE2

log4j.appender.FILE2=org.apache.log4j.FileAppender
log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE2.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} - %m%n
log4j.appender.FILE2.file=application.log

打电话给第二个记录器,我这样做:

 private static final Logger applogger = Logger.getLogger("App");

任何人都可以指出我的错误.

提前感谢和最好的问候.

推荐答案

尝试以下方法:

log4j.category.APP=DEBUG, FILE2
log4j.appender.FILE2.threshold=DEBUG
log4j.appender.FILE2=org.apache.log4j.FileAppender
log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE2.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} - %m%n
log4j.appender.FILE2.file=application.log

其他推荐答案

也许您必须添加第二个记录器...喜欢
log4j.logger.your.package=FILE2

本文地址:https://www.itbaoku.cn/post/1575120.html

问题描述

I want my application to log to two files: first one, already exists, and will log everything. The second one only will log conditionally.

This is my log4j.properties:

log4j.rootCategory=DEBUG, FILE

log4j.logger.es.vf.pegaso=DEBBUG
log4j.logger.org=ERROR
log4j.logger.org.hibernate=ERROR
log4j.logger.org.displaytag=ERROR
log4j.logger.es.vf.pegaso.common.form.el.ElEvaluator=ERROR
log4j.logger.es.vf.pegaso.common.util.csvreader.CsvReaderElEvaluator=ERROR

log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.file=log/test.log
log4j.appender.FILE.Threshold=DEBUG
log4j.appender.FILE.MaxFileSize=3MB
log4j.appender.FILE.MaxBackupIndex=10
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS}\t%t\t%-5p\t[%c{1}]\t%m%n

To create the log I do it like this:

private static final Logger logger = Logger.getLogger(*className*.class);

I tried this but it didn't seem to worked:

log4j.category.App=FILE2

log4j.appender.FILE2=org.apache.log4j.FileAppender
log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE2.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} - %m%n
log4j.appender.FILE2.file=application.log

To call the second logger I do it like this:

 private static final Logger applogger = Logger.getLogger("App");

Can anyone point where's my mistake.

Thanks in advance and best regards.

推荐答案

try this:

log4j.category.APP=DEBUG, FILE2
log4j.appender.FILE2.threshold=DEBUG
log4j.appender.FILE2=org.apache.log4j.FileAppender
log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE2.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} - %m%n
log4j.appender.FILE2.file=application.log

其他推荐答案

Maybe you have to add the second logger... like
log4j.logger.your.package=FILE2