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];
你說文件是空的,但最後兩個日誌行是什麼?他們來自哪裏? –