2010-04-15 76 views
3

Logback的DBAppender將其上下文中的所有屬性和MDC記錄到數據庫。我想控制記錄哪些屬性,特別是篩選出某些值,但我找不到任何選項來執行此操作。該文檔是簡潔:我可以防止logback的DBAppender記錄特定的屬性嗎?

的logging_event_property用於存儲包含在MDC鍵和值或上下文

是否有可能被記錄排除某些屬性?

下面是一個例子:

的logback配置有從vct.properties加載其特性的DBAppender

<configuration> 
    <property resource="vct.properties" /> 

    <appender name="DB" class="ch.qos.logback.classic.db.DBAppender"> 
     <connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource"> 
      <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
       <driverClass>com.mysql.jdbc.Driver</driverClass> 
       <jdbcUrl>jdbc:mysql://${log.db.host}:${log.db.port}/${log.db.schema}</jdbcUrl> 
       <user>${log.db.username}</user> 
       <password>${log.db.password}</password> 
      </dataSource> 
     </connectionSource> 
    </appender> 

    <root level="DEBUG"> 
     <appender-ref ref="DB" /> 
    </root> 
</configuration> 

vct.properties具有連接設置:

log.db.host=localhost 
log.db.port=3306 
log.db.schema=logs_development 
log.db.username=loguser 
log.db.password=logpass 

當事件是記錄,所有的連接設置都會被記錄下來:

mysql> select * from logging_event_property where event_id=1; 
+----------+---------------------+-------------------------------------------+ 
| event_id | mapped_key   | mapped_value        | 
+----------+---------------------+-------------------------------------------+ 
|  1 | log.db.host   | localhost         | 
|  1 | log.db.password  | logpass         | 
|  1 | log.db.port   | 3306          | 
|  1 | log.db.schema  | logs_development       | 
|  1 | log.db.username  | loguser         | 
+----------+---------------------+-------------------------------------------+ 

回答

2

Logback目前不支持此功能。如果您尚未輸入請求此功能的錯誤報告。

+0

謝謝。已記錄:http://jira.qos.ch/browse/LBCLASSIC-205 – curthipster 2010-04-27 05:23:45

相關問題