[英]Grails Groovy Configure Log4j
我有一項任務要處理我們以前的同事開發的舊 Grails 應用程序。 grails 應用程序使用的版本是 2.2.5,在 Java 1.7 上運行。 當我運行應用程序時,我得到這個:(關於 plugins.log4j.Log4jConfig.methodMissing BeanUtils)
正在解決 [運行時] 依賴關系... | 錯誤 log4j:ERROR 初始化錯誤 log4j:org/apache/commons/beanutils/BeanUtils | 錯誤 java.lang.NoClassDefFoundError: org/apache/commons/beanutils/BeanUtils | org.codehaus.groovy.grails.plugins.log4j.Log4jConfig.methodMissing(Log4jConfig.groovy:103)錯誤 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 錯誤 | sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 錯誤 sun.reflect.DelegatingMethodAccessorImpl.invoke 出錯(DelegatingMethodAccessorImpl.java:43)
該應用程序確實運行但由於上述錯誤消息而沒有日志。 由於沒有日志,因此無法跟蹤和理解代碼。 提前感謝您的幫助。
這是BuildConfig.groovy中的依賴項和插件
dependencies {
runtime 'mysql:mysql-connector-java:5.1.22'
test "org.spockframework:spock-grails-support:0.7-groovy-2.0"
compile "org.jadira.usertype:usertype.jodatime:1.9"
runtime 'com.paypal.sdk:rest-api-sdk:0.7.0'
}
plugins {
runtime ":hibernate:$grailsVersion"
runtime ":jquery:1.8.3"
runtime ":resources:1.1.6"
compile ':runtime-logging:0.4'
build ":tomcat:$grailsVersion"
compile ":spring-security-core:1.2.7.3"
compile ":spring-security-ui:0.2"
compile ":famfamfam:1.0.1"
compile ":jquery-ui:1.8.24"
compile ":joda-time:1.4"
compile ":quartz:1.0-RC6"
compile ":audit-logging:0.5.4"
compile ":console:1.2"
compile ":mail:1.0.1"
compile ":kickstart-with-bootstrap:0.9.6"
runtime ":database-migration:1.3.6"
compile ':cache:1.0.1'
compile ':crypto:2.0'
compile ":csv:0.3.1"
test ":code-coverage:1.2.6"
compile ":gmetrics:0.3.1"
compile ":codenarc:0.23"
compile ":export:1.6"
}
Config.groovy中的Log4j配置
log4j = {
def gbPattern = pattern(conversionPattern: "%d{dd MMM yyyy HH:mm:ss} [%X{user_rid},%X{user_name},%X{user_action}] [%5p] %-30.30c{2} %m%n")
def infoLog = "${new File('./logs').exists() ? './logs' : '/tmp/'}/info.log"
def debugLog = "${new File('./logs').exists() ? './logs' : '/tmp/'}/debug.log"
appenders {
console name: 'stdout', layout: gbPattern
appender new DailyRollingFileAppender(
name: 'debugLog',
threshold: org.apache.log4j.Level.DEBUG,
datePattern: "'.'yyyy-MM-dd", // See the API for all patterns.
fileName: debugLog,
layout: gbPattern
)
appender new DailyRollingFileAppender(
name: 'rollingLog',
threshold: org.apache.log4j.Level.INFO,
datePattern: "'.'yyyy-MM-dd", // See the API for all patterns.
fileName: infoLog,
layout: gbPattern
)
}
root {
if(Environment.isDevelopmentMode()) {
info 'stdout', 'rollingLog', 'debugLog'
} else {
info 'rollingLog', 'debugLog'
}
additivity = false
}
嘗試在插件的BuildConfig.groovy
中添加以下依賴項:
compile group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.4'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.