首页 文章

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

提问于
浏览
0

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

  • 1

    这里不需要 log4j.appender.CONSOLE.File=${log}/log_out.txt ,只有 log4j.appender.FILE.File=${log}/log_err.txt 会这样做 .

    你得到的错误是因为 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 表示这个类需要在log4j中用作一个appender,它不包含 file 字段 . ConsoleAppender 用于附加控制台, RollingFileAppender 将其写入指定的文件 .

相关问题