log4j不在tomcat7(ubuntu服务器)

时间:2017-11-16 21:32:17

标签: java web log4j tomcat7 ubuntu-16.04

这是我的log4j.properties文件:

# LOG4J configuration
log4j.rootLogger=INFO, Appender1,Appender2
log4j.logger.org.hibernate=info
log4j.logger.org.quartz=info

log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

log4j.appender.Appender2=org.apache.log4j.FileAppender
log4j.appender.Appender2.File=/home/diego/proyect/log/general.log
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

本地可以在我的Windows机器上运行,但是在服务器(ubuntu 16.04)端,Web应用程序无法在.log文件上写入,已经修改了该文件的权限:

chmod 777 /home/diego/proyect/log/general.log

这是日志目录中 ls -lhs 的结果:

-rwxrwxrwx 1 diego diego 0 Nov 16 14:23 general.log

还不确定服务器上的tomcat用户是哪个。

2 个答案:

答案 0 :(得分:1)

我解决了,似乎我需要将log4j.properties文件添加到类路径中,我的项目具有以下结构:

    • 的src /主/ JAVA
    • 的src /主/资源/ log4j.properties
    • web应用
      • WEB-INF / log4j.properties

所以我把文件放在 src / main / resources 目录下,然后就可以了。

答案 1 :(得分:0)

它正在处理本地环境这一事实意味着您的配置是正确的。我认为您的环境存在问题。以下是一些要检查的事项:

tomcat进程是否具有写入文件的权限。即是否需要写入管理员权限?

检查tomcat目录附近是否有任何临时文件可能阻止您的更改。

检查您的类路径上没有任何其他log4j配置文件,因为这些文件可能会覆盖您的log4j文件并阻止它。要仔细检查这一点,您可以尝试暂时删除log4j.properties文件。