在非标准位置(不是解决方案的根目录)中的点网Core中移动log4net.config时如何解决错误]]

问题描述 投票:0回答:1

为什么dot net Core在Debug内创建一个名为“ netcpreapp3.1”的文件夹,我如何动态地访问它?我已将log4net添加到我的点网Core Web API应用程序中,并且如果将log4net.config与Startup.cs文件放置在同一级别,然后在Program.cs中添加如下的ConfigureLogging部分:

Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            }).ConfigureLogging(builder =>
            {
                builder.SetMinimumLevel(LogLevel.Trace);
                builder.AddLog4Net("log4net.config");
            });

都很好,但是如果我将log4net.config放在一个名为Config的文件夹中,那么直到执行此操作后再找不到它:

builder.AddLog4Net("..\\netcoreapp3.1\\Config\\log4net.config");

(不好,因为将来我们会使用netcoreapp3.2,对吧?)然后在其他地方中断:loggerFactory.AddLog4Net(); //在Startup.cs中,说它期望\ bin \ Debug \ netcoreapp3.1 \ log4net.config(路径中没有我的Config文件夹)。PS:此实现使用:使用Microsoft.Extensions.Logging;

所以,问题是如何在非标准位置-与Startup.cs级别不同的地方移动log4net.config?

为什么dot net Core在Debug内创建一个名为“ netcpreapp3.1”的文件夹,我如何动态地访问它?我已将log4net添加到我的点网Core Web API应用程序中,并且如果我将log4net.config放在...

c# .net-core log4net
1个回答
0
投票

您可以使用“ Config \ log4net.config”作为路径,无需添加路径的“ netcoreapp3.1”部分,因为这是进程开始的地方,它是工作路径。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.