Saravanamanikandan
Saravanamanikandan

Reputation: 51

Use log4j.jar in my java file.

I have class file like this, using log4j.jar is easy in eclips IDE. but not through windows command prompt.

import log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;

public class log4jExample{
    /* Get actual class name to be printed on */
    static Logger log = Logger.getLogger( log4jExample.class.getName());

    public static void main(String[] args)
            throws IOException,SQLException {
        log.debug("Hello this is an debug message");
        log.info("Hello this is an info message");
    }
}

and I create log4j properties like this:

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

what should I do to get log records in cmd and file

Upvotes: 2

Views: 866

Answers (1)

Alexandre Santos
Alexandre Santos

Reputation: 8338

Just define a ConsoleAppender and the log messages will go both to the file and to the console.

http://logging.apache.org/log4j/1.2/manual.html

Your config file should be

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE, A1
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n


# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

Upvotes: 2

Related Questions