使用 log4j2 记录 spring 个事务

Logging spring transactions with log4j2

在一个项目中,我正在将 log4j 1.2 切换到 Log4j 2 但我无法成功迁移事务日志记录,即使我切换到控制台附加程序,它也不会记录任何内容。

最初在log4j.properties

log4j.logger.org.springframework.orm.hibernate5=DEBUG, TRANSACTIONS
log4j.appender.TRANSACTIONS.Threshold=debug
log4j.appender.TRANSACTIONS=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.TRANSACTIONS.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.TRANSACTIONS.rollingPolicy.FileNamePattern=${server.output.dir}/logs/transactions/transactions_%d{yyyy-MM-dd_HH-mm-ss}.log
log4j.appender.TRANSACTIONS.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.TRANSACTIONS.triggeringPolicy.MaxFileSize=100000000
log4j.appender.TRANSACTIONS.ImmediateFlush=true
log4j.appender.TRANSACTIONS.layout=org.apache.log4j.PatternLayout
log4j.appender.TRANSACTIONS.layout.conversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.TRANSACTIONS.Append=true

现在 log4j2.xml 记录器:

    <Logger name="org.springframework.orm.hibernate5" level="DEBUG">
        <AppenderRef ref="Transactions"/>
    </Logger>

追加器:

<RollingFile name="Transactions" filePattern="${sys:server.output.dir}/logs/transactions/transactions_%d{yyyy-MM-dd}.%i.log"
                     ignoreExceptions="false">
            <PatternLayout>
                <Pattern>%d [%t] %-5p %c - %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <OnStartupTriggeringPolicy minSize="100000000" />
                <SizeBasedTriggeringPolicy size="100 MB" />
                <TimeBasedTriggeringPolicy />
            </Policies>
            <DirectWriteRolloverStrategy />
        </RollingFile>

我确信 appender 是正确的,因为我对其他日志记录也基本相同。

你使用什么依赖项,你使用的是commons logging bridge吗?类似的事情发生在我身上,添加 log4j-jcl 帮助。

您的依赖项应如下所示

<dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-core</artifactId>
   <version>2.8.2</version>
</dependency>
<dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-jcl</artifactId>
   <version>2.8.2</version>
</dependency>

As stated e.g. here