Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 使用log4j登录到数据库_Database_Logging_Jdbc_Log4j_Appender - Fatal编程技术网

Database 使用log4j登录到数据库

Database 使用log4j登录到数据库,database,logging,jdbc,log4j,appender,Database,Logging,Jdbc,Log4j,Appender,因为在log4j中 警告:此版本的JDBCAppender很可能在将来被完全替换。此外,它不会记录异常 我应该怎么做才能登录到数据库?您可以使用appender,但实际上Log4j 1.2将在很长一段时间内成为标准。他们是作为他们的接收者伙伴的一部分开发的,虽然还没有正式发布,但是你也可以下载源代码,自己动手 除非不记录异常的问题困扰您,否则JDBCAppender就可以了。任何到2.0的进一步升级都将比仅仅更改JDBCAppender(如果2.0发生的话)更为激进,因此尽管有警告,我也不担心使

因为在log4j中

警告:此版本的JDBCAppender很可能在将来被完全替换。此外,它不会记录异常

我应该怎么做才能登录到数据库?

您可以使用appender,但实际上Log4j 1.2将在很长一段时间内成为标准。他们是作为他们的接收者伙伴的一部分开发的,虽然还没有正式发布,但是你也可以下载源代码,自己动手


除非不记录异常的问题困扰您,否则JDBCAppender就可以了。任何到2.0的进一步升级都将比仅仅更改JDBCAppender(如果2.0发生的话)更为激进,因此尽管有警告,我也不担心使用它。他们显然没有一个坚实的路线图或时间表来介绍一个新的版本,1.2.15在2007发布。

< P>如果你正在寻找一个数据库附件,它不仅工作,而且还支持连接池,保持和正确记录,而不是考虑回溯。p>
具有讽刺意味的是,javadocs中关于在未来版本的log4j中删除jdbcapender的警告是我写的。

这个答案在3年后仍然有效还是有其他数据库日志框架可用?我可以确认它是有效的,我最近刚使用JDBCAppender。@我正在通过JDBCAppender将pojo对象记录到日志中。我想通过日志在数据库中插入不同的pojo对象值。怎么做?谢谢。奇怪的吹牛。。。。。
    **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