简体   繁体   中英

How to configure two log4j for the application

I need to generate two log files for all the methods and classes in different layouts. is it possible?

log4j.properties

log4j.rootLogger=error, file1, file2, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.file1=org.apache.log4j.RollingFileAppender 
log4j.appender.file1.File= file1.log
log4j.appender.file1.layout=org.apache.log4j.PatternLayout
log4j.appender.file1.layout.ConversionPattern=%p %t %c - %m%n <--- Different pattern 

log4j.appender.file2=org.apache.log4j.RollingFileAppender 
log4j.appender.file2.File= file2.log
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
log4j.appender.file2.layout.ConversionPattern=%p (%F:%L) - %m%n <--- Different pattern 

SimplestCode.java

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class SimplestCode {

    static final Logger logger = Logger
            .getLogger(in.mdtareque.log4j.test.SimplestCode.class);

    public static void main(String[] args) {
        PropertyConfigurator.configure("resources/log4j.properties");

        logger.warn("WARN");
        logger.error("ERROR");
        logger.fatal("FATAL");

    }
}

The logs files are created in project home directory for the above config.

file1.log

ERROR main in.mdtareque.log4j.test.SimplestCode - ERROR
FATAL main in.mdtareque.log4j.test.SimplestCode - FATAL

file2.log

ERROR (SimplestCode.java:18) - ERROR
FATAL (SimplestCode.java:19) - FATAL

Check more documentation here

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM