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

如何通过属性文件使用log4j在日志文件中追加和错误流打印

潘智刚
2023-03-14

如何使用项目中的log4j属性文件在日志文件中追加system.out.println()和system.err.println()。


    log=E:/log

    log4j.rootLogger=DEBUG,CONSOLE,FILE

    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.File=${log}/log_out.txt
    log4j.appender.CONSOLE.Target=System.out
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n

    log4j.appender.FILE=org.apache.log4j.RollingFileAppender
    log4j.appender.FILE.File=${log}/log_err.txt
    log4j.appender.FILE.MaxFileSize=512KB
    log4j.appender.FILE.MaxBackupIndex=3
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n

我面临一个错误log4j:warn No such property[file]in org.apache.log4j.consoleappender。

共有1个答案

百里锋
2023-03-14

此处不需要log4j.appender.console.file=${log}/log_out.txt,只需要log4j.appender.file.file=${log}/log_err.txt即可。

您得到上述错误,因为log4j.appender.console=org.apache.log4j.consoleappender表示此类需要用作log4j中的附加器,而log4j不包含file字段。consoleappender用于追加控制台,rollingfileappender将其写入指定的文件。

 类似资料:
  • 由于log4j的官方文档是一个断开的链接,而且入门指南对我没有帮助,所以我想知道如何使用文件而不是文件为同一个记录器使用两个具有不同日志级别的追加器。 例如,像这样:

  • 演示Java文件: 朋友们,请复习一下,让我知道里面的问题。请不要标记它重复,因为我已经尝试了可用的解决方案。可能是我错过了一些:)

  • 如果一个log4j属性有多个文件附加器,那么在Java中,我如何确保日志被写入一个特定的文件中。 在Java类中,我能做些什么来写一些消息,比如说,SUCCESS_FILE和一些消息TEMP_FILE

  • 我使用.property文件在特定路径中创建日志文件,但我使用它创建单个文件。以下是我的属性文件代码: 上面的代码是我的xyz.properties文件,我想使用这个配置文件创建多个日志。我的属性配置文件创建多个文件,但不将不同的不同日志放在日志文件中。我使用下面的代码从Java调用它: log放入两个日志文件。 我参考以下链接: log4j2:为多个日志动态创建日志文件 Log4j2的Routi

  • 问题内容: 我们有几个同时运行的作业,它们必须为log4j使用相同的配置信息。他们都使用相同的附加程序将日志转储到一个文件中。有没有一种方法可以让每个作业动态命名其日志文件,以使它们保持独立? 谢谢 汤姆 问题答案: 您可以为每个作业传递Java系统属性吗?如果是这样,您可以像这样进行参数化: 然后在您的log4j.properties中: 您可以使用主机环境(例如)中的值填充Java系统属性,该

  • 我有一个java项目,它使用log4j作为记录器。要求在日志文件中打印测试用例名称。 一个类中有多个测试,该项目也支持并行执行。为每个测试创建一个记录器实例。 我使用system. Setproprty将我当前的记录器实例与测试用例名称相关联。以下是我的log4j.properties文件:- 并在创建logger文件的新实例时设置运行时变量${testCaseName},如下所示:- 上面的lo