gpt4 book ai didi

grails - Grails无法使用自定义附加程序将消息打印到日志文件

转载 作者:行者123 更新时间:2023-12-02 14:27:11 24 4
gpt4 key购买 nike

我的Grails应用程序将现有数据库镜像到新数据库。我从现有数据库中获得了一些未格式化的电子邮件地址,由于存在约束(email:true)而没有通过我的Grails应用程序进行验证,因此出现了字段错误。

我想将这些字段错误写入日志文件。我怎样才能做到这一点?我在log4J中尝试了一个Appender。它会以某种方式创建一个日志文件,即所谓的“migration.log”,但不会在此日志文件中写入任何字段错误。

log4j = {
// Example of changing the log pattern for the default console
// appender:
//
appenders {
// console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
appender new FileAppender(
name: "migrationAppender",file : "migration.log", layout: pattern(conversionPattern: "%c{2} %m%n")
)
}

这是配置。我定义一个FileAppender。
为我服务。我只是称呼以下内容:
 def foundation = new Foundation(name: name, foundationName: foundationName).addToAddresses(address).addToCommunicationMedia(email)
foundation.validate()
if (!foundation.hasErrors()) {
foundation.save(flush: true)
}
else {
log.error "${foundation.errors}"
}

在控制台中,发生错误,我看到已创建“migration.log”,但不知何故该文件为空。
Error 2011-09-26 09:00:29,543 [main] ERROR service.MasterDataMigrationService  - org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'de.rvgmbh.nemesis.migration.domain.partner.participant.IndividualPerson' on field 'communicationMedia[0].address': rejected value [erbelrechtsanwalt-eberl.de];

最佳答案

log4j = {   
appenders {
rollingFile name:"file", maxFileSize:(1024*1024), file:"migration.log", maxBackupIndex:10
environments {
development {
console name:'stdout'
}
}
}

error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate'

warn 'org.mortbay.log'

environments {
development {
root {
info 'file', 'stdout'
}
debug 'grails.app'

}//development
test {
root {
info 'file'
}
info 'grails.app'
}
production {
root {
info 'file'
}
info 'grails.app'
}
}
}

dev:从调试级别登录到控制台和文件

测试:从信息级别记录到文件

产品:从信息级别记录到文件

关于grails - Grails无法使用自定义附加程序将消息打印到日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7551868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com