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 |
+----------+---------------------+-------------------------------------------+
감사합니다. 그것은 기록 : http://jira.qos.ch/browse/LBCLASSIC-205 – curthipster