现在项目中遇到一个问题,一个功能,本地连正式环境的数据库测试,该功能没有任何问题,但是代码放到正式环境上的时候,该功能出现了一个bug,有些该执行的地方没有执行。现在想分析正式环境上的日志,来查看什么原因。但是结果发现正式环境上面的日志文件中,没有记录该功能的任何日志信息。本地的日志文件,也记录不到,仅仅是记录了一些执行时的sql语句。但是控制台是可以打印出这些日志信息的。下面贴出log4j的配置。
# This is the configuring for logging displayed in the Application Server
log4j.rootLogger=INFO, stdout# stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Threshold = DEBUG 
log4j.appender.stdout.layout.ConversionPattern=[workAttendance] %p [%t] %c.%M(%L) | %m%n# rolling file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=/workAttendance.log
log4j.appender.R.Threshold = INFO
log4j.appender.R.MaxFileSize=3MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %p [%t] %c{1}.%M()| line:%L | %m%n# logger
log4j.logger.com.icss=INFO, R
log4j.logger.com.chinasofti.ro=INFO, R#log4j.logger.jdbc.sqlonly=ON
#log4j.logger.jdbc.sqltiming=ON
#log4j.logger.jdbc.audit=ON
#log4j.logger.jdbc.resultset=ON
#log4j.logger.jdbc.connection=ONlog4j.logger.java.sql.Connection=DEBUG, R
log4j.logger.java.sql.Statement=DEBUG, R
log4j.logger.java.sql.PreparedStatement=DEBUG, R
代码片段:
log.info("*****考勤异常提醒任务开始*****");
/*code*/
log.info("考勤异常提醒任务,全部执行完成!共耗时:" + day + "天," + hour + "小时," + min + "分钟," + sec + "秒");
log---使用apache-commons.jar和slf4j都不行。
修改代码中输出日志的级别,修改log4j中记录日志的级别。全部试过,都不行。仅仅会在控制台打印,而日志文件中却看不到。
log4j.appender.R=org.apache.log4j.RollingFileAppender这些类在log4j.jar中也都是存在的。
帮我看看吧,真不知道什么原因了。分不多,全给你们了~~在此谢过!log4j配置

解决方案 »

  1.   


    log4j.appender.R=org.apache.log4j.DailyRollingFileAppender试试
      

  2.   


    log4j.appender.R.File=${catalina.base}/logs/workAttendance.log是不是你找的路劲不对?
    上面这个是在tomcat下
      

  3.   


    这是控制台中打印出来的信息。上面几行是执行的sql,这些日志文件中是可以记录到的,但是类似于下面2行的信息,日志文件中始终记录不到。
      

  4.   

    log4j.logger.com.icss=INFO, R楼主知道 com.icss是什么意思吗
      

  5.   

    这个还真不知道这一行的真正含义是干什么的,跟这个有关系吗,麻烦您给解释一下哈。。
    你好~~我试了一下,把这里修改之后可以了。修改成服务器中classes下面的那个路径之后可以了!
    不过您可以帮我解释下为什么吗。
    修改为:log4j.logger.com.chinasoft.it.attendance=INFO, R 。已经可以了。
      

  6.   

    这个还真不知道这一行的真正含义是干什么的,跟这个有关系吗,麻烦您给解释一下哈。。
    你好~~我试了一下,把这里修改之后可以了。修改成服务器中classes下面的那个路径之后可以了!
    不过您可以帮我解释下为什么吗。
    修改为:log4j.logger.com.chinasoft.it.attendance=INFO, R 。已经可以了。
    一句两句说不清楚。搜下 log4j category