что такое журналы NDC и как мы можем использовать их в нашем приложении, и каково значение этого - PullRequest
5 голосов
/ 06 июня 2010

что такое журналы NDC и как мы можем использовать их в нашем приложении и каково значение этого ...

Ответы [ 3 ]

4 голосов
/ 06 июня 2010

Вложенные диагностические контексты являются специфическими для потока.

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

  1. прохождение этих атрибутов через слои вашего приложения
  2. явно регистрирует их в каждом операторе журнала. Log4j выведет NDC, если PatternLayout настроен соответствующим образом.

См. Также сопоставленные диагностические контексты Log4j.

3 голосов
/ 06 июня 2010

NDC означает «Вложенные диагностические контексты», это особенность log4j.Наиболее распространенное использование log4j - это просто запись материала без указания того, к какому клиентскому запросу он относится, в результате чего, когда ваше приложение запускается в работе с параллельными запросами, все сообщения журнала для всех запросов смешиваются друг с другом вфайл журнала и рассказывающий, кто сделал то, что невозможно.NDC позволяет пометить сообщения журнала как принадлежащие определенным клиентам, чтобы вы могли различать, кто и что делает, не имея отдельных регистраторов для каждого клиента.

2 голосов
/ 06 июня 2010

Регистратор обычно статически определяется в коде, что иногда делает журнал трудным для понимания.

NDC позволяет динамически push параметр, который будет отображаться в каждой последующей строке журнала, выданной потоком, до тех пор, пока он не станет pop ped.

Полезно, если вы хотите журнал, как:

[request=x] a
[request=y] a
[request=x] b
[request=x] c
[request=y] b
[request=x] d
[request=y] c
[request=y] d

(Отказ от ответственности: я не помню точное форматирование)

Просто a,b,c,d трудно понять, какой поток что делает. Если вы push и pop запросите идентификатор динамически, то вам будет проще следовать. Может также использоваться для других видов контекстной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...