Grails 日志不会在文件中生成
我在my grails应用程序中使用logback,logback.groovy的代码如下:-Grails 日志不会在文件中生成,grails,logging,groovy,logback,Grails,Logging,Groovy,Logback,我在my grails应用程序中使用logback,logback.groovy的代码如下:- def targetDir = BuildSettings.TARGET_DIR if (Environment.isDevelopmentMode() && targetDir != null) { appender("FULL_STACKTRACE", FileAppender) { file = "${targetDir}/stacktrace.log"
def targetDir = BuildSettings.TARGET_DIR
if (Environment.isDevelopmentMode() && targetDir != null)
{
appender("FULL_STACKTRACE", FileAppender) {
file = "${targetDir}/stacktrace.log"
append = true
encoder(PatternLayoutEncoder) {
pattern = "%level %logger - %msg%n"
}
}
logger("StackTrace", DEBUG, ['FULL_STACKTRACE'], false)
}
root(ERROR, ['STDOUT'])
我已重新启动应用程序,但stacktrace.log文件中未生成日志
你也可以让我知道为什么我们需要2个记录器(根和记录器)。我们不能使用没有root的logback.groovy吗
谢谢,Logback允许您为不同的日志文件和包组合不同的记录器 例如:
appender('STDOUT', ConsoleAppender) {
...
}
appender('FILE', RollingFileAppender) {
file = "${basePath}/logs/myLog.log"
...
}
root WARN, ['STDOUT', 'FILE']
logger 'org.hibernate.SQL', TRACE, ['STDOUT']
在本例中,您的根记录器将把日志(级别等于或高于WARN)写入控制台和日志文件。
但您也将从org.hibernate.SQL包接收跟踪或更高级别的日志到控制台
Logback非常灵活。您可以在这里找到手册print
targetDir
out并查看它的外观。您是否在开发模式下运行?是的,它处于开发模式。空stacktrace.log文件已存在,但其中未生成日志消息。