2011-01-03 17 views
5

Od wielu godzin staram się wyświetlać komunikaty logowania (do pliku lub konsoli) podczas przeprowadzania testów integracji. Przypuszczałem mogę użyć poniższy kod, żeby dodać wiadomość dziennika:Logowanie do Grails podczas testowania integracyjnego

log.debug "Some useful information here" 

Mam wykomentowane następującą linię w _GrailsWar.groovy:

target(startLogging:"Bootstraps logging") { 
// do nothing, overrides default behaviour so that logging doesn't kick in  
} 

jak sugeruje tutaj http://jira.codehaus.org/browse/GRAILS-4470

Sekcja log4j z Config.groovy wygląda następująco:

// log4j configuration 
log4j = { 
    // Example of changing the log pattern for the default console 
    // appender: 
    // 
    appenders { 
     //console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n 
     //console name: 'stdout', layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %c{1} - %m%n') 
     //file name: 'hibeFile', file: 'hibe.log', layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %c{1} - %m%n') 
     file name:'file', file:'C:/Users/Christopher/Documents/NetBeansProjects/TestProject/smyh.log', append: false 
     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' 

    debug 'grails.app' 

    info 'grails.app' 

    root { 
     // change the root logger to my tomcatLog file 
     error 'file', stdout 
     info 'file', stdout 
     warn 'file', stdout 
     debug 'file', stdout 
     additivity = true 
    } 

} 

Czy ktoś wie, dlaczego nie widzę moich komunikatów dziennika podczas testów integracji?

Wielkie dzięki za poświęcony czas.

Odpowiedz

0

Spójrz na this recent thread na liście mailingowej użytkownika.
Prawdopodobnie występuje the same issue?

Edycja: cóż, prawdopodobnie już to zrobiłeś, przepraszam.

+0

Dzięki za sugestię. Nie widziałem konkretnej listy mailingowej, o której wspomniałeś, mimo że natknąłem się na link, który sugerował modyfikację pliku _GrailsWar.groovy. Niestety nie udało mi się wypracować rozwiązania z wątku. –

6

W końcu znalazłem rozwiązanie mojego własnego pytania. W tym celu rejestrowania w integracji badań I dodaje następujący wiersz w pobliżu góry:

import org.apache.commons.logging.LogFactory 

Następnie w klasie I dodawali następujący:

def log = LogFactory.getLog(getClass()) 

To było od: http://grails.1312388.n4.nabble.com/Problems-with-Logging-td1360669.html

Następnie mogłem wykonać rejestrowanie, na przykład:

log.debug('*** It works! ***'); 
+0

Działa tylko dla kodu w klasie testowej – pinei

Powiązane problemy