那就写一个程序了,定时去分析log文件
不过很奇怪啊
你想记录这些,为什么不在打印日志的时候直接写到数据库中呢?
而且,要是调整了日志级别,你岂不是得不到这些信息了?

解决方案 »

  1.   

    先建立数据表
    假设字段结构如下:
    T_LOG 
    (createDate, thread, priority, category, message)
    然后在log4j.properties中如下配置log4j.rootLogger = debug,A3#11区 定义A3输出到数据库log4j.appender.A3 =org.apache.log4j.jdbc.JDBCAppender
    log4j.appender.A3.bufferSize =1log4j.appender.A3.driver =oracle.jdbc.OracleDriver
    log4j.appender.A3.URL=jdbc:oracle:thin:@temp:1521:testdb#log4j.appender.A3.URL=jdbc:oracle:oci8:@testdb
    log4j.appender.A3.user =user
    log4j.appender.A3.password =password
    log4j.appender.A3.sql = INSERT INTO T_LOG (createDate, thread, priority, category, message) values(sysdate, '%t', '%-5p', '%c', '%m%n')
    log4j.appender.A3.layout = org.apache.log4j.PatternLayout
    #log4j.appender.A3.layout.ConversionPattern = INSERT INTO T_LOG (createDate, thread, priority, category, message) values(sysdate, '%t', '%-5p', '%c', '%m')
    #log4j.appender.A3.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
    log4j.appender.A3.layout.ConversionPattern=INSERT INTO T_LOG (createDate, thread, priority, category, message) values(sysdate, '', '%p', '%c', '%m%n')
      

  2.   

    请问bitou,这样做会不会对性能有影响?我之所以把信息输出到日志而不是直接存入数据库就是为了提高性能,因为数据量很大,对数据库的压力也很大。