grails如何配置log4j以记录到tomcat日志

时间:2011-07-05 10:06:23

标签: grails log4j tomcat6

每次启动我的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,我只是想改变日志文件的位置。

1 个答案:

答案 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