0
我使用的是org.apache.http.client庫,它有一些默認日誌記錄。我還設置了log4j來處理我的通用日誌記錄和http客戶端日誌記錄。Log4J阻止HTTPClient登錄到MySQL
我遇到的問題是我不希望http客戶端記錄進入MySQL數據庫。
這裏是屬性文件的log4j: #定義控制檯的appender log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
# now define the layout for the appender
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern==%d{yyyy MM dd HH:mm:ss} %p %t %c - %m%n
# now map our console appender as a root logger, means all log messages will go to this appender
log4j.rootLogger = DEBUG, debugTrack, DB
log4j.logger.org.apache=DEBUG, debugTrack, DB
log4j.logger.infoLogger=INFO, infoTrack, DB
log4j.logger.org.apache.http=httpcomm
log4j.logger.org.apache.http.wire=httpcomm
log4j.additivity.org.apache=false
log4j.additivity.infoLogger=false
log4j.appender.debugTrack=org.apache.log4j.RollingFileAppender
log4j.appender.debugTrack.Threshold=DEBUG
log4j.appender.debugTrack.File=log//debugTrack.log
log4j.appender.debugTrack.MaxFileSize=2MB
log4j.appender.debugTrack.MaxBackupIndex=2
log4j.appender.debugTrack.layout = org.apache.log4j.PatternLayout
log4j.appender.debugTrack.layout.ConversionPattern=%d{yyyy MM dd HH:mm:ss} %p %t %c - %m%n
log4j.appender.infoTrack=org.apache.log4j.RollingFileAppender
log4j.appender.infoTrack.Threshold=INFO
log4j.appender.infoTrack.File=log//infoTrack.log
log4j.appender.infoTrack.MaxFileSize=2MB
log4j.appender.infoTrack.MaxBackupIndex=2
log4j.appender.infoTrack.layout = org.apache.log4j.PatternLayout
log4j.appender.infoTrack.layout.ConversionPattern=%d{yyyy MM dd HH:mm:ss} %p %t %c - %m%n
log4j.appender.httpcomm=org.apache.log4j.RollingFileAppender
log4j.appender.httpcomm.Threshold=DEBUG
log4j.appender.httpcomm.File=log//HTTPCommunication.log
log4j.appender.httpcomm.MaxFileSize=2MB
log4j.appender.httpcomm.MaxBackupIndex=2
log4j.appender.httpcomm.layout=org.apache.log4j.PatternLayout
log4j.appender.httpcomm.layout.ConversionPattern=%d{yyyy MM dd HH:mm:ss} %p %t %c - %m%n
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://server/database
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=root
log4j.appender.DB.password=********
log4j.appender.DB.sql=INSERT INTO tbl_logs(logDate,logger,level,message) VALUES('%d{yyyy-MM-dd HH:mm:ss}','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
有一個信息記錄器和調試記錄儀,我希望保持記錄到文件和數據庫。我也希望保持HTTP客戶端記錄到文件但不保存到數據庫。
有人可以請指出我在正確的方向來實現這一目標嗎?
非常感謝 彌敦道
好的,感謝您的意見,這是有道理的,我已經做出了改變。但是,不,我收到以下消息: log4j:警告沒有可以爲記錄器找到appender(org.apache.http.impl.conn.BasicClientConnectionManager)。 log4j:WARN請正確初始化log4j系統。 關於這個的任何想法? – nathj07
現在接受了答案 - 我通過確保正確定義了appender來解決了我以前的問題。我做了一些不需要的其他更改。 感謝您的幫助。 – nathj07