【发布时间】:2018-06-05 04:02:37
【问题描述】:
如何将此 log4j2.xml 配置片段转换为 log4j2.properties 格式?
我不能在我的 maven + netbeans 项目中使用 XML 格式,因为我根本无法让 log4j2 解析和响应 log4j2.xml 文件 - 无论我将它放在我的项目中的什么位置,它都会被 log4j2 忽略。
但是 main/resource 中的 log4j2.properties 被解析并响应,所以我 - 必须 - 使用 .properties...:
<JDBC name="databaseAppender" tableName="LOGGING.APPLICATION_LOG">
<ConnectionFactory class="log4j_tutorial.ConnectionFactory"
method="getDatabaseConnection" />
<Column name="EVENT_DATE" isEventTimestamp="true" />
<Column name="LEVEL" pattern="%level" />
<Column name="LOGGER" pattern="%logger" />
<Column name="MESSAGE" pattern="%message" />
<Column name="THROWABLE" pattern="%ex{full}" />
</JDBC>
我通过官方 Apache Maven log4j 工件使用 log4j2 2.10.0。
-correct-log4j2.properties 配置与上述配置 100% 相同吗?
我几乎要花两天时间让 JDBC appender 正常工作,所以是时候寻求帮助了,我想。
我当前的 log4j2.properties 文件可以正常输出到文件和控制台:
appender.file.type = File
appender.file.name = fileAppender
appender.file.fileName = verdi.log
appender.file.layout.type = PatternLayout
appender.file.layout.pattern = %d{YYYY-mm-dd HH:mm:ss.SSS} %-5p %c{1} - %m %n
appender.out.type = Console
appender.out.name = out
appender.out.layout.type = PatternLayout
appender.out.layout.pattern = %d{YYYY-mm-dd HH:mm:ss.SSS} %-5p %c{1} - %m %n
rootLogger.level = INFO
rootLogger.appenderRef.file.ref = fileAppender
rootLogger.appenderRef.out.ref = out
我实际上只是想在 log4j2.properties 文件中添加一个 JDBC 附加程序 - 已经创建了 db 表,并且我已经按照文档实现了 ConnectionSource 接口,并且它由一个连接池数据源支持,按照文档。然而,官方的 Apache 文档非常模糊且极其稀疏,具体细节尤其是在配置方面。
我找不到指定 JDBC appender 中应包含哪些元素的官方列表,以及如何在 log4j2.properties 文件中指定上述 XML 层次结构。我能找到的所有 JDBC appender 配置示例都是 -ALWAYS- log4j2.xml / XML 的示例。
或者我应该放弃,而是花几天/几周尝试让 log4j XML 配置正常工作?
谢谢!
【问题讨论】:
标签: java xml jdbc log4j configuration-files