相关疑难解决方法(0)

何时使用'嵌套诊断上下文'(NDC)?

使用log4net,我已经看到了使用称为NDC的每个线程堆栈的上下文标签的可能性.

通过指定%x%ndc格式参数,在此堆栈上推送的标签将显示在PatternLayout中.

用法如下:

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"); 
Run Code Online (Sandbox Code Playgroud)

输出类似于:

null - message 1
context inner_context - message 2
context - message 3
null - message 4
Run Code Online (Sandbox Code Playgroud)

在使用log4net的编程经验中,您何时发现此功能有用?

.net logging log4net ndc

59
推荐指数
4
解决办法
3万
查看次数

标签 统计

.net ×1

log4net ×1

logging ×1

ndc ×1