有必要写入数据库吗?我只是在log4j资源中设置个路径,然后在里面查询就可以,第二,我现在开发的系统是让log4j的时时跟踪日志放在后台,这样便于查询。谢谢!

解决方案 »

  1.   

    可以用程序控制一下,log4j提供了通过配置文件和程序来控制器输出的。
      

  2.   

    估计较难解决。呵呵。
    先问楼主个问题:你如何在你的程序中知道Tomcat已经完全启动?如果楼主能找到方法,那么可以这样试试:
    1、把log4j的日志级别设为off
    2、在你检测到Tomcat完全启动之后,执行如下代码:
    Logger.getRootLogger().setLevel( Level.INFO ); //设置成你需要的日志级别以上思路,只是参考。不确保可行性。
      

  3.   

    在工程里加个 log4j.properties文件
      

  4.   

    不好意思,这几天由于一直在外没上网,没过来看看.我们做的系统是物流系统.要求所有用户的操作全部输入到数据库,以便管理员查询,比如做了添加删除审核操作.如果更新了要将更新的字段原值和更新后的值记入到数据库.由于系统管理员不懂后台,即使将log4j日记输出他们也看不懂.关于启动信息输入.我想了两个方法都没很好的解决.一个将DC_SYS_LOG主键不设为自动增长,由操作过程中生成,这样启动时的信息由于没主键全部不能输入到数据库,但这个又会出现一个问题,就是启动时会报一个"违反了 PRIMARY KEY 约束 'PK_DC_SYS_LOG'。不能在对象 'DC_SYS_LOG' 中插入重复键"的错,启动出错这样会绐用户很不好的感觉.如果将主键设为自动加1,每次启动又会有大量垃圾信息都输入数据库了.
      

  5.   

    没看明白要干啥 要监控LOG4G是否启动或是在TOMCAT启动完以后进行日志记录 可以将LOG4G的启动放在servlet中 将启动顺序设置为最高
      

  6.   

    你指定好你要上报的代码路径,只会上报你指定代码里面的日志,不会上报tomcat的信息
    log4j.logger.com.163.audit=info, OperateLogger这样日志只会打印com.163.audit路径下的文件打印出的日志
      

  7.   


    LZ 你说的是业务流程操作日志,好像与LOG4G 没有多大关系,可以定义一个通用流程日志接口,在做相应操作时记录操作日志信息即可