2013-06-03 1 views
2

에 따라 diffrerent 펜더를 Log4j를 작업에 물건을 로깅 할 수 있습니다. 롤링 파일에 대해서만 작업 코드를 기록하고 다른 롤링 파일로 컨트롤러와 서비스를 로깅하려고합니다.Grails는</p> <p>내가 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'  
    } 
} 

, 로그는 두 롤링 파일과 표준 출력에 기록됩니다. 루트에서 롤링하는 appender를 삭제하면 파일 그룹에 appender가 지정되어 있어도 롤링 파일은 비어있게됩니다.

누군가가 로그를 분리기로 구분하는 조언이 있습니까?

답변

1

사용자 정의 어 펜더에 additivity: false을 추가해야한다고 생각합니다.

debug rollingFileImport: [foo, bar, baz] 
     additivity: false 

info rollingFileGrailsApp: [foo1, bar1, baz1] 
    additivity: false 

는 Grails의에서 Logger Inheritance을 참조하십시오.

+0

답장을 보내 주셔서 감사합니다. false에 덧셈을 추가하면, appenders는 루트 로거에 지정되어 있지 않아도 작동합니다. :) –

관련 문제