モジュールに応じて異なるアペンダーにログインしたい...
私は 3 つのアペンダーを持っています: コンソール、コントローラーとサービスをログに記録するためのローリング ファイル、およびジョブの一部をログに記録するための別のローリング ファイルです。ジョブのコードをそのローリング ファイルに対してのみログに記録し、コントローラーとサービスを他のローリング ファイルに対してのみログに記録したいと考えています。
だから、これは私のgrails log4j構成です:
development {
def catalinaBase = System.properties.getProperty('catalina.base')
if (!catalinaBase) catalinaBase = '.'
def logDirectory = "${catalinaBase}/logs/AmbienticWebsite"
log4j = {
appenders {
console name:'stdout', layout:pattern(conversionPattern: '%c{2} [%p] - %m%n')
appender new DailyRollingFileAppender(
name: "rollingFileGrailsApp",
file: "${logDirectory}/GrailsApp.log",
datePattern: "'.'yyyy-MM-dd",
layout: pattern(conversionPattern: commonPattern)
)
appender new DailyRollingFileAppender(
name: "rollingFileImport",
file: "${logDirectory}/Imports.log",
datePattern: "'.'yyyy-MM-dd",
layout: pattern(conversionPattern: commonPattern)
)
}
root {
error 'stdout', 'rollingFileImport', 'rollingFileGrailsApp' // both stdout and AmbienticWebsite_dev.log are filled by logging information
additivity = false
}
debug rollingFileImport: 'ambienticwebsite.EventImportJob',
'time2marketing.time2marketingImportService',
'eventImportData.DiscomImportDataService',
'eventImportData.EventImportService'
info rollingFileGrailsApp: 'ambienticwebsite',
'ambienticwebsite.jobManagement.AmbienticJobListener',
'BootStrap',
'grails.app.controllers',
'grails.app.services'
}
}
この構成では、ログは 2 つのローリング ファイルと stdout に書き込まれます。ローリング アペンダーをルートから削除すると、ファイルのグループにアペンダーが指定されていても、ローリング ファイルは空のままになります。
ログをアペンダーに分けるためのアドバイスはありますか?