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

标签 java apache logging console log4j

如何使用项目中的 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

我遇到错误 <code>log4j:WARN No such property [file] in org.apache.log4j.ConsoleAppender.</code>

最佳答案

这里不需要

log4j.appender.CONSOLE.File=${log}/log_out.txt,只需要log4j.appender.FILE.File=${log}/log_err。 txt 就可以了。

您收到上述错误是因为 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 表示此类需要在 log4j 中用作附加程序,该类不包含 file 字段。 ConsoleAppender 用于附加控制台,RollingFileAppender 将其写入指定的文件。

关于java - 如何通过属性文件使用 log4j 在日志文件中追加输出和错误流打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44851906/

相关文章:

java - liferay-ui 输入日期清除值

java - 为什么可以访问嵌套静态类的成员?

php - Nginx - 405 不允许 - fastcgi 超时

apache - 无法为您的平台加载 native-hadoop 库(Ubuntu 12.04)错误?

apache - 为什么 Lighthouse 使我的缓存文件失败?

python - 是否可以将 Django 的 SafeExceptionReporterFilter 与 AdminEmailHandler 以外的其他东西一起使用?

ruby - 如何使用 MiniTest 测试记录器消息?

java - 单击按钮时 JTable 单元格发生变化?

java - 对于一个实际的开发项目,多少个 "Eclipse Projects"被认为过多?

c# - 用于登录 .NET 的堆栈跟踪