Я хочу использовать MDC для установки контекста в моей программе, а затем иметь возможность установить фильтр в файле конфигурации, чтобы показывать только сообщения из регистратора в определенном контексте.
MDC mdc;
mdc.put("fieldName", "foo");
LOG4CPLUS_DEBUG(log, "ABC");
mdc.put("fieldName", "bar");
LOG4CPLUS_DEBUG(log, "XYZ");
Я хочу печатать только с log
когда "fieldName"
является "bar"
Таким образом, только «XYZ» должен быть напечатан в моем журнале.
В log4j это осуществимо используя файл конфигурации формата XML с фильтрами. Может ли log4cplus использовать файл конфигурации XML? Могут ли такие фильтры быть установлены в журнале XML?
Кроме того, есть ли способ сделать log4cplus многословным, чтобы я мог видеть, находит ли он мой конфигурационный файл, и может ли он его прочитать и т. Д.
У меня возникают проблемы с поиском хотя бы одного примера файла конфигурации log4cplus XML или как его прочитать.
Log4cplus не поддерживает какие-либо файлы конфигурации XML. Это потому, что для этого потребуется синтаксический анализатор XML, и это довольно сильная зависимость.
Что касается фильтрации с использованием MDC, в настоящее время такого фильтра нет. Вы должны были бы реализовать свои собственные. Увидеть Filter
учебный класс.
Вы можете настроить отладку log4cplus из файла свойств, используя log4cplus.configDebug=1
, Или вы можете установить LOG4CPLUS_LOGLOG_DEBUGENABLED
переменная среды для 1
, Первый имеет приоритет над вторым.
Других решений пока нет …