Java grails中的log4j:如何登录到文件?
我在grails config.groovy中有这个log4j配置Java grails中的log4j:如何登录到文件?,java,grails,groovy,log4j,dsl,Java,Grails,Groovy,Log4j,Dsl,我在grails config.groovy中有这个log4j配置 log4j = { error 'org.codehaus.groovy.grails.web.servlet', // controllers 'org.codehaus.groovy.grails.web.pages' // GSP warn 'org.mortbay.log' appenders { rollingFile nam
log4j = {
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages' // GSP
warn 'org.mortbay.log'
appenders {
rollingFile name:'infoLog', file:'info.log', threshold: org.apache.log4j.Level.INFO, maxFileSize:1024
rollingFile name:'warnLog', file:'warn.log', threshold: org.apache.log4j.Level.WARN, maxFileSize:1024
rollingFile name:'errorLog', file:'error.log', threshold: org.apache.log4j.Level.ERROR, maxFileSize:1024
rollingFile name:'custom', file:'custom.log', maxFileSize:1024
}
root {
info 'infoLog','warnLog','errorLog','custom', stdout
error()
additivity = true
}
}
信息日志、警告日志和错误日志来自上一个问题。。。他们工作得很好
现在我添加了名为“custom”的新RollingFile
我试图使用log.info(“something….${obj}”)从我的控制器和服务登录;
但似乎该消息未插入custom.log,我是否需要向配置中添加一些内容
谢谢 刚刚从grails的邮件列表中得到答案: 我只需要补充一下 调试“grails.app” 下面警告“org.mortbay.log”
案件结案!:) 我有完全相同的码头/tomcat环境。花了好几个小时才弄明白。诀窍是将文件位置(在我的例子中是相对路径)定义为Config.groovy中的全局变量,在环境块中对其进行自定义,并在log4j闭包中使用变量位置。示例代码位于:请参见 毕竟,解决方案是将可加性设置放到包配置中:
info specialLog:'activityLog',additivity:false
您没有遗漏阈值吗?当我查看您的代码时,我认为——stout——应该被引用(“stout”),即使我使用自定义appender,它也总是在根appender中结束。如果我从根目录中删除appender,那么它根本不起作用。有没有办法防止这种情况发生?