.properties 文件中的 Log4j2 NoSQL Cassandra 配置

问题描述

我正在尝试向 Karaf 4.2 添加一个 appender,以将异常记录到 Cassandra (DSE)。我的“org.ops4j.pax.logging.cfg”文件如下所示:

log4j2.rootLogger.appenderRef.cassandrass.ref = Cassandra
# Cassandra Appender
log4j2.appender.cass.type=Nosql
log4j2.appender.cass.name=Cassandra

但它失败了

org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Nosql provider not specified for appender [Cassandra]. Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger
Null object returned for Nosql in Appenders. Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger
Unable to locate appender "Cassandra" for logger config "root" Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger

我发现的几乎每个配置示例都是 xml 格式。有没有人有可以分享的工作示例?它抱怨“未指定 Nosql 提供程序”,这是完全有道理的。我只是不知道如何将提供程序配置为 Cassandra

这是我遵循的指南:https://logging.apache.org/log4j/2.x/manual/appenders.html#CassandraAppender

解决方法

您的帖子中并不清楚您要实现的目标。如果您尝试为 Cassandra 配置日志记录,则它不适用于 Log4j。

Cassandra 使用带有 logback 的 SLF4J,因此您需要相应地配置它。有关详情,请参阅Configuring logging in Cassandra

如果您在应用中使用 Log4j,请查看 Configuring Log4j with a properties file。干杯!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...