Categorías
Log4j

Un ejemplo de entrada de Log4j

El log4j se puede configurar tanto de forma programática como externa mediante archivos de configuración especiales. La configuración externa es la más preferida, porque para que surta efecto no requiere cambios en el código de la aplicación, recompilación o redespliegue. Los archivos de configuración pueden ser archivos XML o archivos de propiedades de Java que se pueden crear y editar con cualquier editor de texto o editor XML, respectivamente.

1. Configure log4j mediante programación

Este ejemplo es de este sitio, el código es complicado, así que ¿por qué no limpiarlo?

package Test;
 
import org.apache.log4j.*;
 
public class TestLog {
 
	/*
	 * get a static logger instance with name TestLog
	 */
	static Logger myLogger = Logger.getLogger(TestLog.class.getName());
	Appender myAppender;
	SimpleLayout myLayout;
 
	/* Constructor */
	public TestLog() {
 
		/*
		 * Set logger priority level programmatically. Though this is better done externally
		 */
		myLogger.setLevel(Level.ALL);
 
		/*
		 * Instantiate a layout and an appender, assign layout to appender
		 * programmatically
		 */
		myLayout = new SimpleLayout();
		myAppender = new ConsoleAppender(myLayout); // Appender is Interface
 
		/* Assign appender to the logger programmatically */
		myLogger.addAppender(myAppender);
 
	} // end constructor
 
	public void do_something(int a, float b) {
 
		/*
		 * This log request enabled and log statement logged, since INFO = INFO
		 */
		myLogger.info("The values of parameters passed to method  do_something are: "+ a + ", " + b);
 
		/* this log request is not enabled, since DEBUG < INFO */ 		myLogger.debug("Operation performed successfully"); 		Object x=null; 		if (x == null) { 			/* 			 * this log request is enabled and log statement logged, since ERROR 			 * > INFO
			 */
			myLogger.error("Value of X is null");
 
		}
	} // end do_something()
	public static void main(String []args){
		new TestLog().do_something(1, 3);
	}
} // end class MyClass

Aquí está la instantánea de la salida:

2. Configurar Log4j externamente

Cree un archivo llamado «log4j.properties» en el directorio «src» de su proyecto.

# Define the root logger with appender file
log = /home/ryan/Desktop/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

Aquí está el código java.

package Test;
import org.apache.log4j.Logger;
public class TestLogger {
	static Logger myLogger = Logger.getLogger(TestLog.class.getName());
 
	public static void main(String[] args) {
		myLogger.info("testing");
		myLogger.warn("warning testing");
		myLogger.error("this is an error");
	}
 
}

El registro se imprimirá en el archivo log.out en el directorio / home / ryan / Desktop / log4j.