gpt4 book ai didi

c# - 记录应用程序 block - 记录调用者

转载 作者:行者123 更新时间:2023-12-02 14:10:15 25 4
gpt4 key购买 nike

使用 Log4Net 记录日志时,很容易将调用日志的类放入日志文件中。我过去发现这使得跟踪代码和查看类的流程变得非常容易。在 Log4Net 中,我在转换模式中使用 %logger 属性,如下所示:

<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

这给了我我想要的输出:

2008-09-19 15:40:26,906 [3132] ERROR <b>Log4NetTechDemo.Tester</b> [(null)] - Failed method

从输出中可以看到调用日志的类是 Log4NetTechDemo.Tester,因此我可以很容易地将错误追溯到该类。

在日志应用程序 block 中,我无法弄清楚如何通过简单的日志调用来执行此操作。有谁知道如何做到这一点?如果是这样,一个示例或步骤将非常有帮助。

最佳答案

将调用方法添加到LogEntry的ExtendProperties字典中;当然,假设您尚未从格式化程序模板中删除 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);
}

调用此函数会在日志末尾产生类似以下内容:

Extended Properties: Called from - LAB_Demo.Tester

关于c# - 记录应用程序 block - 记录调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/100007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com