Grails:我可以查看调试标志吗?

时间:2010-09-12 20:02:01

标签: grails

我有一些我不想处理的log.debugs()(因为它们很重)除非应用程序当前处于调试模式(非生产)。

有没有办法检查grails应用程序当前是否处于调试模式/开发模式?

2 个答案:

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