2010-04-15 3 views
3

Logback의 DBAppender는 컨텍스트와 MDC의 모든 속성을 데이터베이스에 기록합니다. 어떤 속성이 특정 값을 필터링하는 기록 된 속성을 제어하고 싶습니다. 그러나 이렇게 할 수있는 옵션을 찾을 수 없습니다. 문서는 간결하다 :로그백의 DBAppender가 특정 속성을 로깅하지 못하게 할 수 있습니까?

logging_event_property는 키와 값 MDC를 포함하거나 상황에 맞는

가 기록되는 특정 속성을 제외하는 것이 가능한가를 저장하는 데 사용됩니다? 여기

은 예이다 :

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

이벤트는 :

<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는 연결 설정을 갖는다 :

Logback은 vct.properties로부터 속성을로드하는 DBAppender로 구성된 모든 연결 설정이 기록됩니다 :

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

로그백은 현재이 기능을 지원하지 않습니다. 아직이 기능을 요청하지 않는 버그 리포트를 입력하십시오.

+0

감사합니다. 그것은 기록 : http://jira.qos.ch/browse/LBCLASSIC-205 – curthipster

0

어떤 항목이 데이터베이스에 추가되는지 필터링하는 대신, 필터링을 지원하는 콘솔에 로그백 dbappender 데이터베이스를 나열하는 Java 프로그램을 작성했습니다.

https://github.com/Rockvole/db_logviewer

관련 문제