如何使用Grails&;从一个控制器登录到不同的Appender;log4j
我有一个控制器,我想根据级别登录到不同的appender。例如,Maple的一般用法将写入INFO usage.log。我确定的某些事件应转到WARN warning.log 这是我的log4j配置的一部分如何使用Grails&;从一个控制器登录到不同的Appender;log4j,log4j,grails-2.0,Log4j,Grails 2.0,我有一个控制器,我想根据级别登录到不同的appender。例如,Maple的一般用法将写入INFO usage.log。我确定的某些事件应转到WARN warning.log 这是我的log4j配置的一部分 appenders { file name: "usageAppender", file: " /usr/local/logs/cs-wst/usage.log" file name: "warningAppender", file: " /
appenders {
file name: "usageAppender",
file: " /usr/local/logs/cs-wst/usage.log"
file name: "warningAppender",
file: " /usr/local/logs/cs-wst/warning.log"
}
info usageAppender: 'grails.app'
当我这样做并在我的控制器log.info(“request method fired”)
中运行这样的语句时,usage.log中确实显示了这一行,但是我在让其他级别工作时遇到了麻烦。我想在控制器中运行这两条语句
log.info("request method fired")
…
log.warn("invalid credentials")
并将其记录到相应的文件中。有人能帮忙吗?参考下面的代码
appenders {
appender new DailyRollingFileAppender(
name: 'dailyerrorAppender',
threshold: org.apache.log4j.Level.DEBUG,
datePattern: "'.'yyyy-MM-dd", // See the API for all patterns.
fileName: "./error",
layout: pattern(conversionPattern:'%d [%t] %-5p %c{2} %x - %m%n')
)
appender new DailyRollingFileAppender(
name: 'dailywarnAppender',
threshold: org.apache.log4j.Level.WARN,
datePattern: "'.'yyyy-MM-dd", // See the API for all patterns.
fileName: "./warn",
layout: pattern(conversionPattern:'%d [%t] %-5p %c{2} %x - %m%n')
)
}
environments {
development{
debug dailyerrorAppender:"errors", additivity: false
warn dailywarnAppender:"warns", additivity: false
}
qa{
debug dailyerrorAppender:"errors", additivity: false
warn dailywarnAppender:"warns", additivity: false
}
production{
debug dailyerrorAppender:"errors", additivity: false
warn dailywarnAppender:"warns", additivity: false
}
}
def errorLog = Logger.getLogger("errors")
errorLog.debug("your error messages")
def warnLog = Logger.getLogger("warns")
warnLog.warn("your warn messages")