小编Ric*_*ard的帖子

Log4net LogicalThreadContext未按预期工作

我一直在尝试使用Log4nets LogicalThreadContext为我的每个日志条目提供上下文.我的应用程序非常重视async/await,但是从阅读各种文章开始,LogicalThreadContext应该可以与.NET 4.5以后的异步代码一起正常工作.我正在使用.NET 4.5.1和log4net 2.0.3

我遇到了Stephen Cleary关于日志记录和.NET CallContext的一篇很棒的文章,结果我决定采用他的代码并使其适应log4net,试图看看我的代码中是否有错误可能有一直在引发这个问题.

首先,我完全按原样运行Stephens代码并得到预期的输出

Main 1: <SomeWork>
Main 1 A: <MoreWork>
Main 2: <SomeWork>
Main 2 A: <MoreWork>
Main 1 A: </MoreWork>
Main 1 B: <MoreWork>
Main 2 A: </MoreWork>
Main 2 B: <MoreWork>
Main 2 B: </MoreWork>
Main 2: </SomeWork>
Main 1 B: </MoreWork>
Main 1: </SomeWork>
Run Code Online (Sandbox Code Playgroud)

接下来,我修改了代码以使用log4net而不是Stephens自定义 MyStack

internal class Program
{
    private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
    private const string StackName = "test";

    private static void Main(string[] …
Run Code Online (Sandbox Code Playgroud)

c# log4net asynchronous async-await

9
推荐指数
1
解决办法
4202
查看次数

标签 统计

async-await ×1

asynchronous ×1

c# ×1

log4net ×1