Quando usar o 'Nested diagnostic context' (NDC)?
Brincando com o log4net, vi a possibilidade de usar uma pilha por segmento de rótulos de contexto chamada NDC.
Os rótulos enviados nessa pilha são exibidos em um PatternLayout especificando o%x
ou o%ndc
parâmetro de formato.
O uso é algo como:
ILog log = log4net.LogManager.GetLogger(...) ;
//pattern layout format: "[%ndc] - %message%newline"
log.Info("message 1");
using(log4net.NDC.Push("context")
{
using(log4net.NDC.Push("inner_context")
{
log.Info("message 2");
}
log.Info("message 3");
}
log.Info("message 4");
A saída é algo como:
null - message 1
context inner_context - message 2
context - message 3
null - message 4
Na sua experiência de programação com o log4net, quando você achou esse recurso útil?