我将Log4j2添加到项目中,并添加了config。
# Root logger option
log4j.rootLogger=INFO, file, stdout
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\logging.log
log4j.appender.file.MaxFileSize=10MB
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{1}:%L - %m%n
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Run Code Online (Sandbox Code Playgroud)
然后,我记录如下代码:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
...
final static Logger logger = LogManager.getLogger(AbstractEditor.class);
...
logger.info("updated: " + entity);
logger.debug("==> debug");
logger.info("==> info");
logger.warn("==> warn");
logger.error("==> error");
logger.fatal("==> fatal");
logger.trace("==> trace");
Run Code Online (Sandbox Code Playgroud)
据我了解,所有级别高于DEBUG的日志都必须写入控制台和文件。但只有这个被打印到控制台:
15:08:52.285 [http-nio-8080-exec-1] ERROR ru.example.AbstractEditor - ==> error
15:08:52.292 [http-nio-8080-exec-1] FATAL ru.example.AbstractEditor - ==> fatal
Run Code Online (Sandbox Code Playgroud)
我看到这个字符串与我的配置不匹配。而且它们没有被写入文件。当我添加此配置时,所有日志都从控制台中消失,不包括这两个字符串。
请帮助编写配置以在控制台和文件上查看具有 DEBUG 级别的所有日志。
您以编程方式使用 Log4j 2,但使用 Log4j 1 的配置格式。Log4j 2 忽略您的配置并使用默认配置。你有2个选择。
归档时间: |
|
查看次数: |
3400 次 |
最近记录: |