当前位置: 首页 > 知识库问答 >
问题:

log4j日志未写入文件的问题

曹浩淼
2023-03-14

有没有人知道为什么这个日志没有写入文件。它将两次写入标准输出,但不写入文件:

此外,我尝试删除“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.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

共有1个答案

慕云
2023-03-14

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

正如其他人所提到的,这些属性区分大小写,这就是为什么您的文件追加器没有正确配置的原因。

 类似资料:
  • 问题内容: 我正在尝试配置log4j以将消息记录到文件中。现在,确实使用我提供的名称创建了该文件,但是日志未写入该文件。我的代码: 我文件的内容: 运行此命令时,将在控制台中获得以下输出: 该文件确实在我的主目录中创建。但是它是空的。 有什么想法我做错了吗?我正在使用log4j 1.2.17版。 问题答案: 输出似乎是Java标准日志记录框架(JUL)发出的默认格式。 因此,有两种可能性(想到):

  • 我知道有很多关于这个的问题,但是我确实经历了所有的问题,并且有点困惑自己,我列出了我遵循的步骤,请让我知道我把它搞砸了。 1) 我只想在应用程序级别使用Log4j,所以需要复制WL_HOME/server/lib/wllog4j。jar和log4j。jar在Domail_Home/Lib? 2) 我使用的是Maven,我在pom中添加了Log4j依赖项。xml[war]。我把战争藏在耳朵里。 3)

  • 我在我的项目中使用log4j。我想有标准输出、调试记录器和最终报告记录器。调试记录器几乎写调试/信息级别的消息。报告将是不同的记录器,只写信息消息。我尝试了不同的方法,阅读了很多示例,我仍然无法解决这个问题。要么我丢失了我的标准输出,要么我将所有调试写入两个记录器。 我的密码在这里 } 任何提示都将不胜感激

  • 我正在尝试配置log4j以将消息记录到文件中。现在,文件确实是用我提供的名称创建的,但是日志并没有写入文件中。我的代码: 我的文件: 运行此命令时,我在控制台中得到以下输出: 文件确实在我的主目录中创建。但它是空的。 知道我做错了什么吗?我使用的是log4j版本1.2.17。

  • 我试图使用log4j 2实现一些日志记录。控制台输出是可以的,但当我试图写一些日志到文件我不能管理它。 我的: 我的: 我使用log4j的方式如下: 我使用记录器的类在包下。 xml配置位于src/main/resources下。 日志文件夹与源文件夹处于同一级别。

  • 我试图实现log4j。我用log4j创建了一个示例java程序。 下面是我的log4j。属性: 我正在控制台屏幕上获取输出。但是没有生成日志文件。我必须做什么才能生成日志文件,谢谢