[英]Log4j2 DefaultRolloverStrategy Configuration deletes log files but not empty folders
[英]Generating empty log files with Log4J2
我已經查看了有關此事的現有問題,但仍然無法解決該問題。 這是我的帶有所有 log4j2 依賴項的 POM:
<dependencyManagement>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>2.7</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
我的log4j2.properties
文件的結構如下:
name=PropertiesConfig
property.filename = logs
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=target/myLog.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
最后,我在我的測試類中創建了記錄器,如下所示:
private Logger LOG = LogManager.getLogger(TestClass.class.getName());
雖然我可以將所有日志輸出到控制台,但我只返回 /target 下的一個空文件(如指定)。
你能幫忙嗎? 你在我的屬性文件中看到什么根本性的錯誤了嗎?
謝謝,
我。
因此,我設法將日志輸出到文件和控制台:
appender.file.type = File
appender.file.name = file
appender.file.fileName=target/myLog.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
appender.out.type = Console
appender.out.name = out
appender.out.layout.type = PatternLayout
appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
rootLogger.level = all
rootLogger.appenderRef.file.ref = file
rootLogger.appenderRef.file.ref = out
對我來說,確切的問題講到這里,解決了我在糾正包名logger.file.name
的關鍵log4j2.properties
。
示例:
logger.file.name=com.amazon.resources
空日志文件表明配置文件中存在錯誤。 就我而言,我的日志級別無效。 例如,我有:
<Loggers>
<Root level="fine">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFile" />
</Root>
但是fine
不是有效的標准級別,當我將其更改為info
時它起作用了。 正如文檔所述,日志級別應該是以下級別之一:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.