2012-07-25 35 views
0

我log4j.properties文件看起來是這樣的:創建如何使Apache httpcomponents使用log4j?

# 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的類中,我能夠在那裏記錄消息。所以它使我認爲log4j.logger.org.apache.http行是錯誤的,即使這是http://hc.apache.org/上的文檔告訴你要做的。

回答

1

我在Grails應用程序中遇到了類似的問題,它需要我以特定的順序聲明我的配置。我必須以特定的順序聲明我的調試過濾器,我的appender,然後我的根記錄器。我在下面列出了我的配置供您參考。我希望這可以幫助你。

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 
} 
+0

這樣就解決了這個問題,非常感謝 – 2012-07-26 03:11:21

相關問題