使用 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>
在一个项目中,我正在将 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>