每次启动我的grails应用程序时,使用tomcat6服务器上的生产环境,我在/var/log/tomcat6/catalina.out中看到以下错误:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: stacktrace.log (Permission denied)
...
...
我认为这是因为log4j正在尝试创建日志文件并且没有所需的权限。
理想情况下,我希望我的应用程序的日志文件转到现有的tomcat日志(/var/log/tomcat6/catalina.out)或转到/ var / log / tomcat6目录中的单独文件。
如何以最少的配置更改log4j日志的位置?即我不想用它自己的输出模式定义一个完整的appender,我只是想改变日志文件的位置。
答案 0 :(得分:3)
您可以通过在grails-app/conf/Config.groovy
中配置文件来设置日志记录以使用文件:
log4j = {
appenders {
file name:'file', file: '/var/log/tomcat6/mylog.log'
}
root {
info 'stdout', 'file'
}
}
在这种情况下,所有级别为info
及以上的日志事件都将被推送到文件/var/log/tomcat6/mylog.log
和stdout(tomcat将自己添加到catalina.out
)
请参阅:http://grails.org/doc/latest/guide/3.%20Configuration.html#3.1.2%20Logging