Дано: Red5 0.8.RC3, приложение (.war), которое использует библиотеку (.jar).
Приложение использует slf4j для ведения журнала, все журналы создаются следующим образом:
private static Logger log = Red5LoggerFactory.getLogger(MyClass.class, "webcall"); //"webcall" is a context name
Файл конфигурации для ведения журнала: logback-webcall.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<contextName>webcall</contextName>
<jmxConfigurator contextName="webcall" />
<appender name="WEBCALL" class="ch.qos.logback.core.FileAppender">
<File>/var/log/lx/webcall.log</File>
<Append>false</Append>
<Encoding>UTF-8</Encoding>
<BufferedIO>false</BufferedIO>
<ImmediateFlush>true</ImmediateFlush>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%date [%thread] %-5level %logger{35} - %msg%n
</Pattern>
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="WEBCALL" />
</root>
</configuration>
Это работает для всех регистраторов, которые создаются, как указано выше.Но в библиотеке (которая не имеет ни малейшего представления о Red5LoggerFactory и контекстах) регистраторы создаются следующим образом:
private static Logger log = LoggerFactory.getLogger(MyLibraryClass.class); //org.slf4j.LoggerFactory;
И они не работают.
Вопрос: как настроить ведение журнала внутри библиотеки для сервера Red5?