Peter Penzov
Peter Penzov

Reputation: 1658

Set messages pattern in Log4J

I have this Log4J configuration which generates messages into log file:

log = Logger.getLogger(LogMessages.class.getName());
        BasicConfigurator.configure();  // Basic configuration for Log4J 1.x

        ConsoleAppender console = new ConsoleAppender(); //create appender
        //configure the appender
        String PATTERN = "%d{DATE} [%p|%c|%C{1}] %m%n";
        console.setLayout(new PatternLayout(PATTERN));
        console.setThreshold(Level.FATAL);
        console.activateOptions();
        //add appender to any Logger (here is root)
        Logger.getRootLogger().addAppender(console);

        DailyRollingFileAppender fa = new DailyRollingFileAppender();
        fa.setName("FileLogger");
        fa.setFile("log" + File.separator + "messages.log");
        fa.setDatePattern("'.'yyyy-MM-dd");
        fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"));
        fa.setThreshold(Level.DEBUG);
        fa.setAppend(true);
        fa.activateOptions();

        //add appender to any Logger (here is root)
        Logger.getRootLogger().addAppender(fa); //repeat with all other desired appenders 

This is the generated output:

2013-12-26 10:19:27,501 WARN  [LogMessages] test_message

I would like to generate message like this:

2013-12-26 10:19:27 WARN test_message

How I can remove [LogMessages] from the messages?

Upvotes: 0

Views: 1087

Answers (1)

aquaraga
aquaraga

Reputation: 4168

For the file logging, change the setLayout invocation to:

fa.setLayout(new PatternLayout("%d{dd/MM/yyyy HH\:mm\:ss} %-5p %m%n"));

For the console logging also, use the same pattern:

String PATTERN = "%d{dd/MM/yyyy HH\:mm\:ss} %-5p %m%n";

Upvotes: 1

Related Questions