Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# BuildWebHost之前的.NET核心NLog日志记录_C#_Asp.net_Asp.net Mvc_Asp.net Core_Nlog - Fatal编程技术网

C# BuildWebHost之前的.NET核心NLog日志记录

C# BuildWebHost之前的.NET核心NLog日志记录,c#,asp.net,asp.net-mvc,asp.net-core,nlog,C#,Asp.net,Asp.net Mvc,Asp.net Core,Nlog,我使用NLog,并为我的应用程序创建了自己的日志提供程序。我在StartUp类中使用NLog设置了配置 我现在将向您展示Program.cs的外观 public static void Main(string[] args) { var configurationDic = CreateConfigurationDictionary(); // In here it can throw an exception therefore I need to

我使用NLog,并为我的应用程序创建了自己的日志提供程序。我在StartUp类中使用NLog设置了配置

我现在将向您展示Program.cs的外观

    public static void Main(string[] args)
    {
        var configurationDic = CreateConfigurationDictionary(); 
      // In here it can throw an exception therefore I need to be able to log here

        var webHost = BuildWebHost(configurationDic, args);

        var applicationLogger = webHost.Services.GetService<IMyTestLogProvider>().ApplicationLogger;

        applicationLogger.LogInformation("*************** Start up ***************");

        webHost.Run();
    }
但是我的应用程序不知道什么是NLogBuilder,尽管我已经安装了NLOGNuget软件包

有什么想法吗

致意 抢劫

但是我的应用程序不知道什么是NLogBuilder,尽管我已经安装了NLOGNuget软件包

检查您的依赖项,您需要:

  • NLog.Web.AspNetCore 4.5+(目前为beta04)
  • NLog 4.4.12+(例如NLog 4.5测试版)-无NLog 5!-如果不使用.NET标准1
  • 如果您使用的是.NET标准1(而不是.NET标准2)-请使用NLog 5+(目前为beta版)
但是我的应用程序不知道什么是NLogBuilder,尽管我已经安装了NLOGNuget软件包

检查您的依赖项,您需要:

  • NLog.Web.AspNetCore 4.5+(目前为beta04)
  • NLog 4.4.12+(例如NLog 4.5测试版)-无NLog 5!-如果不使用.NET标准1
  • 如果您使用的是.NET标准1(而不是.NET标准2)-请使用NLog 5+(目前为beta版)

在BuildWebHost(更新到NLog 4.5.0 RTM或更高版本)之前,请参阅更新的Wiki以了解如何激活日志记录


在BuildWebHost(更新到NLog 4.5.0 RTM或更新版本)之前,请参阅更新的Wiki以了解如何激活日志记录


罗尔夫的答案不起作用,因为有细微的差别

var logger=NLog.Web.LogBuilder.ConfigureNLog(“NLog.config”).GetCurrentClassLogger()

应该是

var logger=NLog.Web.NLogBuilder.ConfigureNLog(“NLog.config”).GetCurrentClassLogger()


}罗尔夫的答案不起作用,因为有细微的差别

var logger=NLog.Web.LogBuilder.ConfigureNLog(“NLog.config”).GetCurrentClassLogger()

应该是

var logger=NLog.Web.NLogBuilder.ConfigureNLog(“NLog.config”).GetCurrentClassLogger()


}

在web主机启动之前,您到底在做什么?这些主机需要登录,并且不能延迟到主机实际初始化时才能启动?如果您在那里发生了很多事情,这可能表明您的web应用程序做了太多与web应用程序无关的事情。此通知已发布。它应该为net461启用NLogBuilder。在需要登录且不能延迟到主机实际初始化时的web主机之前,您到底在做什么?如果您在那里发生了很多事情,这可能表明您的web应用程序做了太多与web应用程序无关的事情。此通知已发布。它应该为net461启用NLogBuilder。不工作!正如原始海报所示,“我的应用程序不知道NLogBuilder是什么”。我有nlog 4.5.6,core 2.0.3,即使这是一个api/mvc,我也尝试添加nlog.web.aspnetcore 4.5.4。@ginalster感谢您指出错误。更新了代码。不工作!正如原始海报所示,“我的应用程序不知道NLogBuilder是什么”。我有nlog 4.5.6,core 2.0.3,即使这是一个api/mvc,我也尝试添加nlog.web.aspnetcore 4.5.4。@ginalster感谢您指出错误。更新了代码。
var logger = NLogBuilder.ConfigureNLog("NLog.config").GetCurrentClassLogger();
public static void Main(string[] args)
{
    // NLog: setup the logger first to catch all errors
    var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
    try
    {
        logger.Debug("init main");
        BuildWebHost(args).Run(); 
    }
    catch (Exception ex)
    {
        //NLog: catch setup errors
        logger.Error(ex, "Stopped program because of exception");
        throw;
    }
    finally
    {
        // Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)
        NLog.LogManager.Shutdown();
    }
}
public static void Main(string[] args)
{
    // NLog: setup the logger first to catch all errors
    var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
    try
    {
        logger.Debug("init main");
        BuildWebHost(args).Run(); 
    }
    catch (Exception ex)
    {
        //NLog: catch setup errors
        logger.Error(ex, "Stopped program because of exception");
        throw;
    }
    finally
    {
         // Ensure to flush and stop internal timers/threads before application-exit(Avoid segmentation fault on Linux)
    NLog.LogManager.Shutdown();
}