2010-04-15 86 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

相关问题