1
我的Grails应用程序将把现有数据库映射到新数据库。我从现有的数据库中得到了一些未格式化的电子邮件地址,这些电子邮件地址由于约束(email:true
)而未通过Grails应用程序的验证,所以出现字段错误。Grails不使用自定义appender将消息打印到日志文件
我想在日志文件中写入这些字段错误。我怎样才能做到这一点?我在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];
你说文件是空的,但最后两个日志行是什么?他们来自哪里? –