我想实现LOG4J操作MYSQL数据库,并且实现用Hibernate做管理。大家有代码吗?分享一下。

解决方案 »

  1.   

    log4j默认没有带Hibernate的Appender,你可以自己写一个吧
    public class HibernateAppender  extends AppenderSkeleton implements Appender
    里面就一个protected void append(LoggingEvent loggingevent)方法需要写而已,你调用自己的DAO类或者Spring也行,String msg = getLayout().format(loggingevent);
    ...
      

  2.   

    不用hibernate的有一个可以操作数据库的Appender,不过很老了,还没有转义功能,如果日志中用单引号之类的特殊符号就翘掉了。org.apache.log4j.jdbc.JDBCAppender:WARNING: This version of JDBCAppender is very likely to be completely replaced in the future. Moreoever, it does not log exceptions. 需要自己写一个Layout,将SQL转义