Inicie sesión en una base de datos usando log4j

Dado que en log4j javadoc es

ADVERTENCIA: Es muy probable que esta versión de JDBCAppender sea completamente reemplazada 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 funcione, sino que también admita la agrupación de conexiones, se mantenga y documente correctamente, entonces considere DBAppender de logback .

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

Puede utilizar un appender alternativo , pero realmente Log4j 1.2 va a estar presente y será estándar durante mucho tiempo. Desarrollaron DBAppender como parte de sus compañeros de receptor, que no se lanzó oficialmente, pero puede descargar el código fuente y obtener el suyo propio también.

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

**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 
    Intereting Posts