【问题标题】:Log4j2, no logs in fileLog4j2,文件中没有日志
【发布时间】:2016-10-04 11:43:24
【问题描述】:

我正在尝试在没有标准结构的 maven 项目中配置 log4j2,但即使创建了文件,也没有附加任何内容。

我在 pom.xml 中有以下依赖项

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j-version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j-version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j-version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j-version}</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson-version}</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson-version}</version>
    </dependency>

我正在使用以下版本

    <properties>
        <slf4j-version>1.7.21</slf4j-version>
        <log4j-version>2.6.2</log4j-version>
        <jackson-version>2.8.2</jackson-version>
    </properties>

和下面的log4j2.properties

status = info
rootLogger.level = info

name = PropertiesConfig
property.fileName = ./log/log.txt

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${fileName}
appender.rolling.filePattern = ./log/log_%d{dd-MM-yy}.txt
appender.rolling.append = true

appender.rolling.layout.type = JSONLayout
appender.rolling.layout.complete = true

appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true

appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 5

另外,由于项目的结构,我将属性文件设置为这样

    LoggerContext context = (LoggerContext) LogManager.getContext(false);
    File file = new File(CONFIGURATION_DIR + File.separator + "log4j2.properties");

    // this will force a reconfiguration
    context.setConfigLocation(file.toURI());

即使创建了文件,也没有将任何内容附加到文件中,并且我没有错误。我是错过了什么,还是做错了什么?

【问题讨论】:

    标签: java maven logging log4j log4j2


    【解决方案1】:

    看起来我缺少 log4j2.properties 文件的以下配置:

    logger.rolling.name = name
    logger.rolling.level = debug
    logger.rolling.additivity = false
    logger.rolling.appenderRef.rolling.ref = RollingFile
    

    现在可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 2016-10-24
      • 2019-07-04
      • 2021-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多