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

The*_*cle 3 grails

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

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

Dón*_*nal 11

您可以使用以下方法测试当前环境是否为dev(例如):

import grails.util.Environment

if (Environment.current == Environment.DEVELOPMENT ) {
    // Do your dev logging here
}
Run Code Online (Sandbox Code Playgroud)

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'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)