这是我的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用户是哪个。
答案 0 :(得分:1)
我解决了,似乎我需要将log4j.properties文件添加到类路径中,我的项目具有以下结构:
所以我把文件放在 src / main / resources 目录下,然后就可以了。
答案 1 :(得分:0)
它正在处理本地环境这一事实意味着您的配置是正确的。我认为您的环境存在问题。以下是一些要检查的事项:
tomcat进程是否具有写入文件的权限。即是否需要写入管理员权限?
检查tomcat目录附近是否有任何临时文件可能阻止您的更改。
检查您的类路径上没有任何其他log4j配置文件,因为这些文件可能会覆盖您的log4j文件并阻止它。要仔细检查这一点,您可以尝试暂时删除log4j.properties文件。