шаблон log4j% X и какое свойство ему присвоить - PullRequest
3 голосов
/ 30 августа 2011

Я пытаюсь использовать средство просмотра журнала (неважно, какой) для анализа моих файлов журнала.

мой шаблон log4j такой:

% p [% t] (% C {1}:% M ():% L)% d {дд / мм / гггг-ЧЧ: мм: сс, SSS} S:% X {serviceType} N:% X {requestID} -% m% n

средства просмотра журнала (по крайней мере, с открытым исходным кодом) нуждаются в реализации шаблона, чтобы они могли читать файл.

например: для шаблона log4j:% p [% t] (% C {1}:% M ():% L)% d {дд / мм / гггг-ЧЧ: мм: сс, SSS} -% m% n

шаблон средства просмотра журналабудет: pattern = pattern = LEVEL [THREAD] (CLASS: METHOD (): LINE) TIMESTAMP - MESSAGE

пример работает хорошо.

но я не смог разобрать%Х свойство в любом случае.я видел, что есть типы свойств NDC и PROP (ключ), но я, кажется, либо пропускаю их использование, либо они не связаны с% X

, поэтому вопрос заключается в том, как реализовать шаблон, чтобы он читалПараметр% X.

спасибо.

1 Ответ

3 голосов
/ 31 августа 2011

Хорошо, я думаю, что вижу проблему.

Ваше приложение использует log4J MDC, так как оно использует% X в макете шаблона.Кажется, что ваша программа просмотра журналов поддерживает только NDC.

В шаблоне log4j для NDC используется% x (строчные буквы).

Если у вас есть контроль над приложением, вы должны изменить MDC -> NDC иМодифицируйте log4j.xml, чтобы использовать% x вместо% X.Это может быть большой задачей, если приложение огромно ...

Другим решением было бы найти средство просмотра журналов, поддерживающее MDC (% X)

Я пытался найти PROP(ключ), но там не так много документов; - (

Удачи

...