0
votes

How to append System.out.println() and System.err.println() in log file by using log4j properties file in project.

    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

I'm facing an error log4j:WARN No such property [file] in org.apache.log4j.ConsoleAppender.

1

1 Answers

1
votes

log4j.appender.CONSOLE.File=${log}/log_out.txt is not needed here, only log4j.appender.FILE.File=${log}/log_err.txt will do.

You are getting above error because log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender represents this class needs to be used as an appender in log4j, which does not contain file field. ConsoleAppender is used to append the console and RollingFileAppender writes it to the file specified.