gpt4 book ai didi

azure - 我需要如何登录才能在应用服务日志中查看我的日志

转载 作者:行者123 更新时间:2023-12-02 08:32:38 28 4
gpt4 key购买 nike

我已启用应用程序日志记录到文件系统和 Blob。我使用 ILogger<T>.LogInformation() 记录消息和Trace.WriteLine() 。这些在 blob 中都不可见。我也在文件系统上找不到它们。当我启用日志流时,我也看不到它们。

我需要在 ASP.NET Core 应用程序中配置某些内容吗?

最佳答案

[Microsoft.Extensions.Logging.AzureAppServices][1] 提供程序包将日志写入 Azure 应用服务应用文件系统中的文本文件以及以下位置的 Blob 存储: Azure 存储帐户。

提供程序包不包含在共享框架中。要使用提供程序,请将提供程序包添加到项目中。

要配置提供商设置,请使用 AzureFileLoggerOptionsAzureBlobLoggerOptions ,如下例所示:

public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();

var todoRepository = host.Services.GetRequiredService<ITodoRepository>();
todoRepository.Add(new Core.Model.TodoItem() { Name = "Feed the dog" });
todoRepository.Add(new Core.Model.TodoItem() { Name = "Walk the dog" });

var logger = host.Services.GetRequiredService<ILogger<Program>>();
logger.LogInformation("Seeded the database.");

host.Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging => logging.AddAzureWebAppDiagnostics())
.ConfigureServices(serviceCollection => serviceCollection
.Configure<AzureFileLoggerOptions>(options =>
{
options.FileName = "azure-diagnostics-";
options.FileSizeLimit = 50 * 1024;
options.RetainedFileCountLimit = 5;
}).Configure<AzureBlobLoggerOptions>(options =>
{
options.BlobName = "log.txt";
})
)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});

您可以引用以下链接以获取更多引用:

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1#azure-app-service-provider

希望有帮助。

关于azure - 我需要如何登录才能在应用服务日志中查看我的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59462181/

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