log4j日志测试正常,部署服务器后只有启动的时候生成一个日志文件,今后所有的日志都写到这个文件,没有按天分割

xxlian1201 2016-12-01 03:22:23
如题,我希望的效果是当天的日志在当天结束的时候,自动生成一个已当天的日期为后缀的日志文件,第二天的日志写到一个新的文件,我的配置如下:
log4j.rootLogger = debug,console,D,E

log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

log4j.logger.com.apache.ibatis.datasource.DataSourceFactory = DEBUG
log4j.logger.com.apache.ibatis.jdbc.ScriptRunner = INFO

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%5p %d{yyyy-MM-dd HH:mm:ss} [%t] - %m%n


### DEBUG ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ../logs/epass/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.DatePattern = '.'yyyy-MM-dd
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n


### ERROR ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ../logs/epass/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.DatePattern = '.'yyyy-MM-dd
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n


#log4j.logger.org.springframework = off
log4j.logger.org.apache.ibatis =off
log4j.logger.com.alibaba.dubbo=off


结果,本地测试的时候,手动修改时间,应用可以按天分割并生成日志文件,但是部署到win2008服务器后,就只有应用启动的时候生成了一个文件,今后每天的日志都是追加到这个日志文件中。
求大神帮忙解惑。
...全文
1256 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
席海斌 2020-11-25
  • 打赏
  • 举报
回复
同问题,楼主解决了吗?
qq_39936465 2020-11-24
  • 打赏
  • 举报
回复
我觉得应该是该服务器不能识别长后缀名的文件,所以后面的日期添加失败,导致写在一个文件里
席海斌 2020-11-24
  • 打赏
  • 举报
回复
楼主解决了吗
mwyking 2017-12-27
  • 打赏
  • 举报
回复
我也遇到同样问题,大神们有什么解决办法吗? 我的log4j配置文件如下: log4j.rootLogger = info,stdout,I,E ### \u8F93\u51FA\u5230\u63A7\u5236\u53F0 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n log4j.appender.I = org.apache.log4j.DailyRollingFileAppender log4j.appender.I.File = D:\\logs\\bdsh\\info.log log4j.appender.I.DatePattern = '_'yyyy-MM-dd'.log' log4j.appender.I.Append = true log4j.appender.I.Threshold = INFO log4j.appender.I.layout = org.apache.log4j.PatternLayout log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File = D:\\logs\\bdsh\\error.log log4j.appender.E.DatePattern = '_'yyyy-MM-dd'.log' log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n log4j.logger.com.springframework=DEBUG log4j.logger.com.mybatis=DEBUG log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG
什么都不能 2017-12-27
  • 打赏
  • 举报
回复
问题1 你们生产上日志级别是? 问题2 log4j.appender.D.File = ../logs/epass/log.log 你这个日志是放到哪里的?
幽饮烛 2017-03-07
  • 打赏
  • 举报
回复
找找是不是有多个 log4j 配置文件
问道于旁 2017-03-07
  • 打赏
  • 举报
回复
引用 5 楼 baidu_34655578 的回复:
楼主解决了吗,,我和你遇到的问题一样,而且,我在本地的时候,在其中一个tomcat中运行,手动修改时间都会生成日志文件,但是在另一个就不行,所以log4j配置应该是没问题,应该是tomcat和环境问题,但我就是找不到,按照百度上的各种方法都试了,还是不行,敢问楼主是怎么解决的?
你解决了么? 我也遇到了。。。
幽饮烛 2017-03-07
  • 打赏
  • 举报
回复
windows 还是 linux 这个目录的权限呢? ../logs/epass/
问道于旁 2017-03-07
  • 打赏
  • 举报
回复
引用 8 楼 zssazrael 的回复:
找找是不是有多个 log4j 配置文件
就一个,我怀疑是服务器问题,但是这个是跟什么权限有关系? 我是把应用放到服务器上,用户是管理员,应该没啥权限的问题把???
  • 打赏
  • 举报
回复
楼主解决了吗,,我和你遇到的问题一样,而且,我在本地的时候,在其中一个tomcat中运行,手动修改时间都会生成日志文件,但是在另一个就不行,所以log4j配置应该是没问题,应该是tomcat和环境问题,但我就是找不到,按照百度上的各种方法都试了,还是不行,敢问楼主是怎么解决的?
DuskForRain 2017-03-06
  • 打赏
  • 举报
回复
引用 4 楼 qq_21525397 的回复:
你的日志文件的名字都写死了,当然只有一个文件
看官方文档,这种问题应该很好解决
小生--幻 2016-12-07
  • 打赏
  • 举报
回复
你的日志文件的名字都写死了,当然只有一个文件
  • 打赏
  • 举报
回复
看看是不是文件路径有问题以及是否有写文件的权限
xxlian1201 2016-12-05
  • 打赏
  • 举报
回复
有没有人遇到过相同的情况啊
xxlian1201 2016-12-01
  • 打赏
  • 举报
回复
没人在吗?求大神帮助

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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