0

私の log4j.properties ファイルは次のようになります。

# Root logger option
log4j.rootLogger=DEBUG, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/home/user/logs/myapp.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p [%c] %m%n

log4j.logger.org.apache.http=DEBUG

ファイル myapp.log が作成され、http 要求が実行されますが、ログ ファイルは空のままで、理由がわかりません。

編集:HttpClientを使用しているクラスでは、そこにメッセージを記録できました。したがって、 http://hc.apache.org/のドキュメントで指示されていることであっても、log4j.logger.org.apache.http の行が間違っていると思います。

4

1 に答える 1

1

Grailsアプリでも同様の問題が発生し、特定の順序で構成を宣言する必要がありました。デバッグフィルター、アペンダー、ルートロガーを特定の順序で宣言する必要がありました。参考までに、以下に構成を含めました。これがお役に立てば幸いです。

def logLayoutPattern = new PatternLayout("%d [%t] %-5p %c %x - %m%n")

debug 'grails.app.controllers.com.sagebauer'
debug 'grails.app.services.com.sagebauer'

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'
appenders {
    appender new ConsoleAppender(name: "console",
            threshold: log4jConsoleLogLevel,
            layout: logLayoutPattern
    )
}

root {
    error 'console'
    additivity = true
}
于 2012-07-25T21:00:25.683 に答える