Reputation: 51
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
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