database logging jdbc log4j appender

database - Inicie sesión en una base de datos utilizando log4j



logging jdbc (3)

Puedes usar un appender alternative , pero en realidad Log4j 1.2 será estándar durante mucho tiempo. Desarrollaron DBAppender como parte de sus compañeros receptores, que no se lanzó oficialmente, pero puedes descargar el código fuente y ponerlo en marcha también.

A menos que el problema de no registrar las excepciones le moleste, JDBCAppender está bien. Cualquier actualización adicional a 2.0 será más radical que solo cambiar JDBCAppender (si es que ocurre 2.0), así que no me preocuparía usarlo, a pesar de la advertencia. Claramente, no tienen una hoja de ruta sólida o una línea de tiempo para introducir una nueva versión, y la versión 1.2.15 se lanzó en 2007.

Como en log4j javadoc está

ADVERTENCIA: Es muy probable que esta versión de JDBCAppender se reemplace por completo en el futuro. Además, no registra excepciones.

¿Qué debo hacer para iniciar sesión en una base de datos?


Si está buscando un appender de base de datos que no solo funciona, sino que también es compatible con la agrupación de conexiones, se mantiene y se documenta adecuadamente, entonces considere el DBAppender de DBAppender .

Irónicamente, la advertencia en javadocs sobre la eliminación de JDBCAppender en futuras versiones de log4j fue escrita por mí.


**log4j.properties file** # Define the root logger with appender file log4j.rootLogger = DEBUG, DB # Define the DB appender log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender # Set JDBC URL log4j.appender.DB.URL=jdbc:mysql://localhost/log # Set Database Driver log4j.appender.DB.driver=com.mysql.jdbc.Driver # Set database user name and password log4j.appender.DB.user=root log4j.appender.DB.password=root # Set the SQL statement to be executed. log4j.appender.DB.sql=INSERT INTO actionlg(user_id, dated, logger, level, message) values(''%X{userId}'','' %d{yyyy-MM-dd-HH-mm}'',''%C'',''%p'',''%m'') # Define the layout for file appender log4j.appender.DB.layout=org.apache.log4j.PatternLayout **Java Class** Log4jExamples.java import java.sql.*; import java.io.*; import org.apache.log4j.Logger; import org.apache.log4j.MDC; 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.error("Error"); MDC.put("userId", "1234"); } } **libs required** - mysql-connector-java-3.1.8-bin.jar - log4j-1.2.17.jar