簡體   English   中英

asp.net framework 4.7 配置日志級別,不工作

[英]asp.net framework 4.7 configure logging level, not working

我的 Web 作業不符合我的 host.json 中的日志記錄級別配置。 它是使用 .NET 框架 4.7 編寫的。 下面代碼的預期結果是沒有日志記錄,相反,我根據下面的屏幕截圖記錄了一個。 任何人都可以提供有關如何解決此問題的指導嗎? 我需要添加額外的配置/啟動代碼嗎?

在此處輸入圖片說明

主機文件

{
  "version": "2.0",
  "logging": {
    "fileLoggingMode": "always",
    "logLevel": {
      "Functions.Test": "None",
      "default": "None"
    }
  }
}

C# Web 作業代碼

public static void Main()

        {

            var config = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("host.json", optional: true, reloadOnChange: true)
                .AddEnvironmentVariables()
                .Build();

            var builder = new HostBuilder();

            builder.ConfigureWebJobs(b =>
            {
                b.AddAzureStorageCoreServices();
                b.AddTimers();
                b.AddBuiltInBindings();
            });

            builder.ConfigureLogging((context, b) =>
            {
                b.AddConsole();
            });

            var host = builder.Build();
            using (host)
            {
                var jobHost = host.Services.GetService(typeof(IJobHost)) as JobHost;
                jobHost.CallAsync("Test").GetAwaiter().GetResult();
            }
        }
    }

    public class Functions
    {
        [NoAutomaticTrigger]
        public static void Test(ILogger logger)
        {
            logger.LogCritical("LogCritical");
            logger.LogDebug("LogDebug");
            logger.LogError("LogError");
            logger.LogInformation("LogInformation");
            logger.LogTrace("LogTrace");
            logger.LogWarning("LogWarning");
            Thread.Sleep(1000 * 10);
        }
    }
}

感謝您分享您的代碼。

在我看來,在第一條語句中,正在構建配置對象var config = new Microsoft.Extensions.Configuration.ConfigurationBuilder()... ,但是,在代碼的后面,在主機創建和配置時不使用此config變量。 因此,不會應用這些設置,而是使用默認的Information logLevel。

我們需要將此配置提供給HostBuilder ,看起來可以使用HostBuilderConfigureAppConfiguration方法來完成。 請看一下這個問題,它有一個如何使用這種方法的例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM