Ravi S.
Ravi S.

Reputation: 68

How to append out and err stream print in log file using log4j through properties file

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.

Upvotes: 0

Views: 1161

Answers (1)

Saheb
Saheb

Reputation: 1492

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.

Upvotes: 1

Related Questions