log4j日志文件中记录不到日志信息,求大神帮忙看看什么原因,十分感谢!

lijiayao07 2013-11-07 10:56:00
现在项目中遇到一个问题,一个功能,本地连正式环境的数据库测试,该功能没有任何问题,但是代码放到正式环境上的时候,该功能出现了一个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=ON

log4j.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中也都是存在的。
帮我看看吧,真不知道什么原因了。分不多,全给你们了~~在此谢过!
...全文
475 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
无聊找乐 2013-11-09
  • 打赏
  • 举报
回复
引用 8 楼 lijiayao07 的回复:
[quote=引用 7 楼 lijiayao07 的回复:] [quote=引用 6 楼 rainbowsix 的回复:] log4j.logger.com.icss=INFO, R 楼主知道 com.icss是什么意思吗
这个还真不知道这一行的真正含义是干什么的,跟这个有关系吗,麻烦您给解释一下哈。。[/quote] 你好~~我试了一下,把这里修改之后可以了。修改成服务器中classes下面的那个路径之后可以了! 不过您可以帮我解释下为什么吗。 修改为:log4j.logger.com.chinasoft.it.attendance=INFO, R 。已经可以了。[/quote] 一句两句说不清楚。 搜下 log4j category
lijiayao07 2013-11-07
  • 打赏
  • 举报
回复
引用 7 楼 lijiayao07 的回复:
[quote=引用 6 楼 rainbowsix 的回复:] log4j.logger.com.icss=INFO, R 楼主知道 com.icss是什么意思吗
这个还真不知道这一行的真正含义是干什么的,跟这个有关系吗,麻烦您给解释一下哈。。[/quote] 你好~~我试了一下,把这里修改之后可以了。修改成服务器中classes下面的那个路径之后可以了! 不过您可以帮我解释下为什么吗。 修改为:log4j.logger.com.chinasoft.it.attendance=INFO, R 。已经可以了。
lijiayao07 2013-11-07
  • 打赏
  • 举报
回复
引用 6 楼 rainbowsix 的回复:
log4j.logger.com.icss=INFO, R 楼主知道 com.icss是什么意思吗
这个还真不知道这一行的真正含义是干什么的,跟这个有关系吗,麻烦您给解释一下哈。。
无聊找乐 2013-11-07
  • 打赏
  • 举报
回复
log4j.logger.com.icss=INFO, R 楼主知道 com.icss是什么意思吗
lijiayao07 2013-11-07
  • 打赏
  • 举报
回复
引用 1 楼 huxiweng 的回复:

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
试试
这个试了也不行。
lijiayao07 2013-11-07
  • 打赏
  • 举报
回复

这是控制台中打印出来的信息。上面几行是执行的sql,这些日志文件中是可以记录到的,但是类似于下面2行的信息,日志文件中始终记录不到。
lijiayao07 2013-11-07
  • 打赏
  • 举报
回复
引用 2 楼 huxiweng 的回复:

log4j.appender.R.File=${catalina.base}/logs/workAttendance.log
是不是你找的路劲不对? 上面这个是在tomcat下
版主大人,路径是对的,我把那些删掉,再次运行的时候又会重新生成那个日志文件。
teemai 2013-11-07
  • 打赏
  • 举报
回复

log4j.appender.R.File=${catalina.base}/logs/workAttendance.log
是不是你找的路劲不对? 上面这个是在tomcat下
teemai 2013-11-07
  • 打赏
  • 举报
回复

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

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧