java - log4j 日志未写入文件的问题

标签 java jakarta-ee logging log4j

有人知道为什么此日志没有写入文件吗?它写入标准输出两次,但不写入文件:

此外,我尝试删除“Stdout”附加程序,然后我根本没有收到任何日志记录。

package org.berlin.wicket;
import org.apache.log4j.Logger;
private static final Logger LOG = Logger.getLogger(QuickstartPage.class);
LOG.info("Loading constructor");

log4j.rootLogger=DEBUG,Stdout,mainAppender

log4j.appender.Stdout=org.apache.log4j.ConsoleAppender log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n

log4j.appender.mainAppender=org.apache.log4j.DailyRollingFileAppender

log4j.appender.mainAppender.file=logs/core.log

log4j.appender.mainAppender.datePattern='.'yyyy-MM-dd

log4j.appender.mainAppender.append=true

log4j.appender.mainAppender.layout=org.apache.log4j.PatternLayout

log4j.appender.mainAppender.layout.ConversionPattern=[%d{MM/dd/yyyy HH:mm:ss.SSS}] [%C{1}.%M():%L] [%t] [%p] - %m%n

log4j.logger.org.berlin=DEBUG,Stdout,mainAppender

最佳答案

您有两个使用相同附加程序(Stdout)的记录器,因此您会在控制台上看到两次条目。

正如其他人提到的,属性区分大小写,因此您的文件附加器配置不正确。

关于java - log4j 日志未写入文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954394/

相关文章:

java - 为什么这个 equals 方法没有正确重写 object.equals 方法?

java - 是否可以在 hql 中使用 Between 、 current_date 和 subdate 函数?

java - 如何使用 spring 数据或纯 java 获取在我的 MongoDB 实例上运行的当前日期

java - 在 Java 中使用 List 与 Map 的性能优势

java - 存储当前编辑的文件列表

java - 如何使用 hibernate 检索表的所有主键?

logging - 设置 cassandra.logdir 的最佳方法是什么

java - 使用 Log4J 进行类别记录

hibernate - 检索 Hibernate 查询结果作为结果集而不是列表

docker - 收集 kubernetes 的 pods 日志