Foros del Web » Programación para mayores de 30 ;) » Java »

Instalar Log4J

Estas en el tema de Instalar Log4J en el foro de Java en Foros del Web. Hola Estoy utilizando eclipse galileo, y como servidor Tomcat 5.5, el caso es que necesito instalar log4J, pero realmente no se como se hace, sé ...
  #1 (permalink)  
Antiguo 23/02/2010, 17:27
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 6 meses
Puntos: 1
Sonrisa Instalar Log4J

Hola

Estoy utilizando eclipse galileo, y como servidor Tomcat 5.5, el caso es que necesito instalar log4J, pero realmente no se como se hace, sé que esto sirve para sacar mensajes, pero por más que miro, no se instala como spring, que pones una web en Ayuda -> nuevo software y te lo instala eclipse, por lo menos no veo el manual como hacerlo.

No sé si consiste en un simple jar, que se añade al proyecto, leo por ahí que esta asociado a Tomcat, pero eso tampoco lo llego a entender.

En definitiva he mirado tantas páginas que cada vez estoy más perdido, quiero hacer un ejemplo con spring en el que piden que tengas Log4j y no sé como se instala. Por ejemplo hibernate es ir a la web, buscar hibernate tools, descargar y descomprimir en la carpeta de eclipse, pero es que de Log4J no veo ni una explicación así de clara y fácil.

Saludos
  #2 (permalink)  
Antiguo 23/02/2010, 21:35
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: por ahi!!!
Mensajes: 113
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Instalar Log4J

es tan facil como tener en los resources de tu java-project un archivo de configuracion del mismo que puede ser un xml o un properties. Y luego en la clase que necesita log un logger. fijate si te sirve el plugin log4e.
  #3 (permalink)  
Antiguo 24/02/2010, 02:20
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Instalar Log4J

Y no te olvides que es necesario instanciar el logger en el servlet correspondiente (o en el archivo .java donde quieras hacer logging)

Y debes configurar el archivo donde quieres que se cree el log ^-^

public class MiClase extends HttpServlet {

/** Instancia al inicio de la clase */
private static final Logger logger = Logger.getLogger(MiClase.class);

//a partir de aquí ya puedes escribir el log
logger.debug("Testing");

..............
  #4 (permalink)  
Antiguo 24/02/2010, 09:37
 
Fecha de Ingreso: agosto-2009
Mensajes: 12
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Instalar Log4J

Hola en spring lo puedes hacer de la siguiente manera:

1. Copiar el jar del log4j a tu classpath:
2. Declarar un bean de spring para su integración con el log4j:
Código Javascript:
Ver original
  1. <!-- Inicialización del log4j: -->
  2.     <bean id="log4jInitialization" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
  3.         <property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
  4.         <property name="targetMethod" value="initLogging" />
  5.         <property name="arguments">
  6.             <list><value>C:\\logs\spring.config</value></list>
  7.         </property>
  8.     </bean>

3. Crear un archivo de configuración del log4j: spring.config(puedes colocarle el nombre que quieras pero debe ser el mismo referenciado que en el bean de spring)

Código txt:
Ver original
  1. #### Que es lo que vamos a loguear:
  2. log4j.rootLogger=DEBUG,fileAppender,consolaAppender
  3. log4j.logger.org.springframework=DEBUG,fileAppender,consolaAppender
  4. log4j.logger.javax.transaction=DEBUG,fileAppender,consolaAppender
  5.  
  6.  
  7. #### Escribimos el log hacia la consola:
  8. log4j.appender.consolaAppender=org.apache.log4j.ConsoleAppender
  9. log4j.appender.consolaAppender.layout=org.apache.log4j.PatternLayout
  10. log4j.appender.consolaAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} (%F:%L) %-5p %t %c - %m%n
  11.  
  12. #### Escribimos el log hacia un archivo:
  13. log4j.appender.fileAppender=org.apache.log4j.RollingFileAppender
  14. log4j.appender.fileAppender.File=C:\\logs\\spring.log
  15. log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
  16. log4j.appender.fileAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %t %c - %m%n
  17. log4j.appender.fileAppender.MaxFileSize=100MB
  18. log4j.appender.fileAppender.MaxBackupIndex=10
  19. log4j.appender.fileAppender.Threshold=debug
  20. log4j.appender.fileAppender.Append=true

4. Empezar a utilizar el logger:
Código Javascript:
Ver original
  1. @Service("facadeService")
  2. @Transactional
  3. public class FacadeServiceImpl implements FacadeService {
  4.  
  5.     private final Logger logger = Logger.getLogger(getClass());
  6.    
  7.     @Autowired
  8.     private MovimientoBBVADAO movimientoBBVADAO;
  9.    
  10.     @Autowired
  11.     private MovimientoScotiabankDAO movimientoScotiabankDAO;
  12.    
  13.     @Override
  14.     @Transactional(rollbackFor=Exception.class,readOnly=false)
  15.     public void transferenciaInterbancaria(Movimiento movimiento) throws Exception {
  16.         logger.info("INICIANDO TRANSFERENCIA...");
  17.         movimientoBBVADAO.retirarBBVA(movimiento);
  18.         movimientoScotiabankDAO.depositarScotiabank(movimiento);
  19.         logger.info("TRANSFERENCIA FINALIZADA...");
  20.     }
  21. }

El resultado es algo como esto:
Código txt:
Ver original
  1. 2010-02-24 10:31:57 (JakartaCommonsLoggingImpl.java:27) DEBUG main java.sql.PreparedStatement - {pstm-100003} Parameters: [1500, 0000000004]
  2. 2010-02-24 10:31:57 (JakartaCommonsLoggingImpl.java:27) DEBUG main java.sql.PreparedStatement - {pstm-100003} Types: [java.math.BigDecimal, java.lang.String]
  3. 2010-02-24 10:31:57 (FacadeServiceImpl.java:30) INFO  main pe.com.slcsccy.testspring.service.FacadeServiceImpl - TRANSFERENCIA FINALIZADA...


Carlos Cacique.
http://carloscacique.blogspot.com

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:55.