Играя с log4net, я видел возможность использовать стеки с потоками контекстных ярлыков, называемых NDC.
Метки, помещенные в этот стек, отображаются в PatternLayout, указывая параметр формата %x
или %ndc
.
Использование - это что-то вроде:
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");
Результат выглядит примерно так:
null - message 1
context inner_context - message 2
context - message 3
null - message 4
В вашем опыте программирования с log4net, когда вы нашли эту функцию полезной?