我有一些我不想处理的log.debugs()(因为它们很重)除非应用程序当前处于调试模式(非生产)。
有没有办法检查grails应用程序当前是否处于调试模式/开发模式?
答案 0 :(得分:11)
您可以使用以下方法测试当前环境是否为dev(例如):
import grails.util.Environment
if (Environment.current == Environment.DEVELOPMENT ) {
// Do your dev logging here
}
IMO是一个比硬编码这种日志记录发生的环境更好的解决方案,就是配置它。例如,仅在dev环境中为此类启用调试日志记录。将以下内容添加到Config.groovy
log4j = {
appenders {
// config for stdout and logfile appenders omitted
}
// log everything at error level to stdout and logfile appenders
root {
error 'stdout', 'logfile'
}
environments {
development {
// log this class at debug level in dev env only
debug 'com.example.MyClass'
}
}
}
答案 1 :(得分:0)
在config.groovy中定义了环境。
您可以根据运行中的应用程序
指定日志配置的内容environments {
development {
log4j = {
// determine what appenders are logging in development...
}
}
production {
log4j = {
// determine what appenders are logging in production...
}
}
}