gpt4 book ai didi

java - 我可以阻止 logback 的 DBAppender 记录特定属性吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:41:35 26 4
gpt4 key购买 nike

Logback 的 DBAppender 将其上下文和 MDC 中的所有属性记录到数据库中。我想控制记录哪些属性,特别是过滤掉某些值,但我找不到任何选项来这样做。文档很简洁:

The logging_event_property is used to store the keys and values contained in the MDC or the Context

是否可以排除某些属性不被记录?

这是一个例子:

Logback 配置了一个 DBAppender,它从 vct.properties 加载它的属性:

<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 |
+----------+---------------------+-------------------------------------------+

最佳答案

Logback 目前不支持此功能。如果您还没有,请输入请求此功能的错误报告。

关于java - 我可以阻止 logback 的 DBAppender 记录特定属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2648267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com