Java 8 使用log4j2获取要登录到catalina.out的Java 8应用程序

Java 8 使用log4j2获取要登录到catalina.out的Java 8应用程序,java-8,log4j2,tomcat9,Java 8,Log4j2,Tomcat9,这是一个个人项目,我只想让它发挥作用 我有一个使用log4j2的Java8应用程序,我只想让它登录到一个普通的Tomcat 9日志,比如catalina.out、localhost或Tomcat stdout日志。我所做的一切似乎都不管用 Log4J包含在war文件中,我只需要它在tomcat9下为这个应用程序工作。我不想移动到另一个日志库。这是我的log4j.properties文件 log4j.rootCategory=debug,console log4j.appender.console

这是一个个人项目,我只想让它发挥作用

我有一个使用log4j2的Java8应用程序,我只想让它登录到一个普通的Tomcat 9日志,比如catalina.out、localhost或Tomcat stdout日志。我所做的一切似乎都不管用

Log4J包含在war文件中,我只需要它在tomcat9下为这个应用程序工作。我不想移动到另一个日志库。这是我的
log4j.properties
文件

log4j.rootCategory=debug,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.immediateFlush=true
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d [%t] %-5p %c - %m%n
这是我如何在代码中使用它的一个示例:

import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

public final class DataController {
    private static Logger LOG = LogManager.getLogger(DataController.class);

    public void exampleMethod() {
        LOG.info("Log something");
    }
}

任何日志中都没有显示任何内容。Tomcat9是一个库存安装,有一个库存
logging.properties
文件。这不是Spring应用程序。它是纯Java servlet和POJO。为了进一步了解上下文,我最初使用了一个文件追加器,并记录到一个自定义文件中。那也没用。顺便说一句,虽然我知道一些术语,但我在Java是一个彻头彻尾的新手。

我使用的是log4j 1.2属性文件。这个示例属性文件工作正常

status = debug
name = PropertiesConfig
 
filters = threshold
 
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
 
appenders = console
 
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
 
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT