gpt4 book ai didi

java - 动态设置列值 JDBC Appender : Log4j2

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:13:10 25 4
gpt4 key购买 nike

我在 log4j2 xml 中配置了 JDBC appender

<JDBC name="databaseAppender" tableName="TL_FX_LOG">
<ConnectionFactory class="org.apache.jmeter.protocol.java.test.ConnectionFactory" method="getDatabaseConnection" />
<Column name="LOG_DATE" isEventTimestamp="true" />
<Column name="LOG_DESC" pattern="%message" />
<Column name="LOG_Batch" literal="someproperty" />

我需要从 Java 代码设置 literal(LOG_Batch) 的值。

Logger.debug("hello");

你好将作为 %message 值传递。但是如果我有一个变量

String log_batch="test";

如何将 log_batch 变量值传递给 JDBC appender。

最佳答案

PatternLayout 支持的任何模式都可以在列模式中使用,因此您可以将该值放入代码中的 ThreadContext 映射 (ThreadContext.put("log_batch", "test");) 中,然后通过使用 <Column name="LOG_Batch" pattern="%X{log_batch}" /> 配置附加程序将其插入数据库中.

关于java - 动态设置列值 JDBC Appender : Log4j2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24554373/

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