Я пытаюсь сделать karaf 3.0.4 использовать logback. В коде я пытаюсь программно создать FileAppender для журнала регистрации ошибок.Невозможно выполнить работу с karaf 3.0.4
ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("bingo");
Здесь LoggerFactor является SLF4J LoggerFactory. Я не размещал код, который добавляет файл appender.
Это бросает следующее исключение в 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
Я уже сделали следующее:
- Сделано чел -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, но это тоже не помогло, и у меня такой же результат.
Я что-то не хватает?
С уважением, Madhav
Я вижу аналогичную проблему с Karaf 3.0.5. Подробности размещены здесь http://stackoverflow.com/questions/35628958/using-logback-with-karaf-3-0-5-running-under-servicemix. Вы можете помочь? – tuk