问题描述
我正在尝试向 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。干杯!