我正在尝试将grails.app.controllers和grails.app.services的“信息及更高级别”日志记录到此附加程序“appLog”中。从文档和大量的Google搜索来看,当然还有堆栈溢出。我了解我所需要的只是我的附加程序,然后是记录器信息。
但这对我永远都行不通,因此我按如下所示添加了root块,并使其将每个日志路由到我的附加程序,并且我还将可加性设置为false,这样它就不会提取任何继承的日志。
我的要求非常简单,但是我无法使其正常运行。我正在使用grails 2.4.1。
有人可以告诉我们这里出了什么问题吗?
下面是我的配置:
Log4j:main{
appender name: "appLog",
new org.apache.log4j.DailyRollingFileAppender(
threshold: org.apache.log4j.Level.INFO,
datePattern: "'.'yyyy-MM-dd",
file: log4jFileName,
layout: pattern(conversionPattern: '[%d{yyyy-MM-dd hh:mm:ss.SSS}] %p %c{5} %m%n')
)
info additivity: false, appLog: "grails.app.services.xxxService"
root {
debug 'appLog'
additivity = false
}
}
最佳答案
我在这里看到的几件事是错误的:
name: "appLog"
部分应位于DailyRollingFileAppender
构造函数中。 尝试将配置更改为此:
log4j = {
appenders {
appender new org.apache.log4j.DailyRollingFileAppender(
name: "appLog",
threshold: org.apache.log4j.Level.INFO,
datePattern: "'.'yyyy-MM-dd",
file: log4jFileName,
layout: pattern(conversionPattern: '[%d{yyyy-MM-dd hh:mm:ss.SSS}] %p %c{5} %m%n')
)
}
info additivity: false,
appLog: "grails.app.services.xxxService"
root {
debug 'appLog'
}
}
关于grails - grails log4j不适用于自定义追加程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24877099/