Log4j Windows下正常 服务器没有输出日志
最近做了个小的网站,之前都是在本机上测试的,项目中的日志是使用Log4J1.2.17,在本机(Windows)上测试完全正常,包括输出以及每天生成一个日志文件都是妥妥的,但是昨天部署到服务器(Ubuntu14.04)之后,我再去查看日志输出却没有任何日志内容,今天再看也没有生成昨天的日志文件,找了很多资料都没有解决,特来问问:
我的Log4J 配置:
log4j.rootLogger=info, stdout, log, errorlog log4j.Logger=search,Test ###Console ### 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} [ %t ] [ %p ]:%L - %m%n ### Log ### log4j.appender.log = org.apache.log4j.DailyRollingFileAppender log4j.appender.log.File = log.log log4j.appender.log.Append = true log4j.appender.log.Threshold = INFO log4j.appender.log.DatePattern='.'yyyy-MM-dd log4j.appender.log.layout = org.apache.log4j.PatternLayout log4j.appender.log.layout.ConversionPattern = %-d{yyyy-MM-dd HH
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
确实。。
启动参数加上 -Dlog4j.debug=true
文件给的是777权限
关于权限,你要看进程用户是什么
恩恩,感谢你的指点,找到原因了,在linux下路径中要使用/,Windows中使用的不能识别,所以找不到配置文件。就是这个原因导致的
那就只能是文件权限问题啦
[10]
回复
大笨蛋 臭鸡蛋
你觉得在服务器linux上,写不出来的最可能原因是什么
当然是权限啦,可以先看下用户权限
如果没有问题,再以当前程序写点别的内容 不要调用 log4j
如果还没问题,这时候再考虑下打印开关和打印级别是否开启,要逐层分析问题
是的 但是好像确实是路径问题,原因在linux下路径中要使用/,使用不能识别,就是这个原因导致的,之前一直没注意,搞了半天
晕,这是常识啊
回复
这可是常识啊。想要偷懒图省事,路径分隔符一律用/,这个在windows下也是识别的,微软最后还是妥协了。连微软自己都觉得用做路径分隔符是一个反人类的设计
是的,我也是一直用 / 写路径的
权限,路径,一般只有这两方面原因