【发布时间】:2015-08-16 09:21:35
【问题描述】:
我正在尝试让 karaf 3.0.4 使用 logback。在代码中,我尝试以编程方式为 logback 记录器创建 FileAppender。
ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("bingo");
这里的 LoggerFactor 是 SLF4J LoggerFactory。我还没有发布添加文件附加程序的代码。
这会在 karaf 中引发以下异常:
Caused by: java.lang.ClassCastException: org.ops4j.pax.logging.slf4j.Slf4jLogger cannot be cast to ch.qos.logback.classic.Logger
at bingo.concurrent.TaskContextImpl.<init>(TaskContextImpl.java:34)
at bingo.concurrent.TaskExecutorImpl.execute(TaskExecutorImpl.java:83)
我已经解决了已经报告的类似问题: How to make Pax logging to use the loggback config
我已经做了以下事情:
- 将 pax-logging-logback 作为 startup.properties 的一部分,因此它总是在 karaf 启动时安装。我用的版本是1.8.3。
- 更改的配置文件 org.ops4j.pax.logging.cfg org.ops4j.pax.logging.logback.config.file=${karaf.home}/etc/logback.xml
这没有帮助。 karaf.log 中没有捕获任何日志。我也尝试手动安装 pax-logging-logback 但这也没有帮助,我得到了相同的结果。
我错过了什么吗?
问候, 马达夫
【问题讨论】:
标签: logback apache-karaf