home.

tagged: java-log4j

Java: Log4J

First we have a bin/res/log4j.properties
 
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p %c{1} %x - %m%n

We're saying in the first uncommented line the default message is an INFO message and it is appended to a console as defined below it.
 
We're defining the console to be the usual log4j console, then giving it various properties such as the fact we'll be outputting via a pattern as defined in ConversionPattern. The pattern's code is explained here http://www.tutorialspoint.com/log4j/log4j_patternlayout.htm
 
Now

    
		Reader isr = new InputStreamReader(Main.class.getResourceAsStream("/res/log4j.properties"));
		Properties p = new Properties();
		p.load(isr);
		PropertyConfigurator.configure(p);					
	
		Logger l = Logger.getLogger(Main.class);
		l.info("a message");

First we're loading the properties file, and load it into a Properties object and pass that to the PropertyConfiguration to configure log4j. Then you create a Logger with the name of your current class. Then the info output will output via the configuration parameters set above.

java java-log4j

Page 1 of 1