Odd*_*Odd 2 c# logging enterprise-library application-blocks
使用Log4Net进行日志记录时,将调用日志的类放入日志文件中非常容易.我在过去发现,这使得跟踪代码并查看类中的流程变得非常容易.在Log4Net中,我在转换模式中使用%logger属性,如下所示:
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
Run Code Online (Sandbox Code Playgroud)
这给了我想要的输出:
2008-09-19 15:40:26,906 [3132] ERROR <b>Log4NetTechDemo.Tester</b> [(null)] - Failed method
您可以从输出中看到调用日志的类是Log4NetTechDemo.Tester,因此我可以很容易地将错误追溯到该类.
在Logging Applicaton Block中,我无法通过简单的日志调用来弄清楚如何执行此操作.有谁知道怎么做?如果是这样,那么这样做的一个例子或步骤将非常有帮助.
将调用方法添加到LogEntry的ExtendedProperties字典中; 假设您尚未从格式化程序模板中删除ExtendedProperties标记,当然.
把这样的东西放在日志包装器中:
public void LogSomething(string msg)
{
LogEntry le = new LogEntry { Message = msg };
le.ExtendedProperties.Add("Called from", new StackFrame(1).GetMethod().ReflectedType);
Logger.Write(le);
}
Run Code Online (Sandbox Code Playgroud)
在日志的末尾调用它会产生类似的结果:
Extended Properties: Called from - LAB_Demo.Tester
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1889 次 |
| 最近记录: |