我正在尝试在ASP中配置自定义日志记录。NET核心MVC应用程序。该应用程序托管在Linux上的Azure应用程序服务上(免费层)。日志文件没有出现,我做错了什么?
我的配置:
以下ASP。NET Core日志记录文档(https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1#azure应用程序服务提供商),我已将azure应用程序服务日志提供商添加到我的应用程序:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddAzureWebAppDiagnostics();
})
.ConfigureServices(serviceCollection => serviceCollection
.Configure<AzureFileLoggerOptions>(options =>
{
options.FileName = "azure-diagnostics-";
options.FileSizeLimit = 10 * 1024;
options.RetainedFileCountLimit = 5;
})
)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseUrls("http://*:8080");
webBuilder.UseStartup<Startup>();
});
应用程序中的日志记录配置。设置:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
我正在我的控制器中记录信息、警告和错误。
遵循Azure文档(https://docs.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs#enable-应用程序日志记录linuxcontainer),我已在Azure应用程序中启用了文件系统日志记录-
我的应用程序部署良好且工作正常。我希望在应用程序的文件系统中的某个地方找到一个名为“azure-诊断”的日志文件。我已经通过转到Azure应用程序检查了文件系统-
find . -name '*azure-diagnostics*'
不会返回任何内容。我还使用Kudu和VS Cloud Explorer检查了文件系统,文件不在那里。如果我添加控制台日志提供程序,日志将显示在标准Azure日志文件中。我错过了什么?
日志文件的默认位置在D:\home\LogFiles\Application
文件夹中,默认文件名为diagnostics-yyyymmdd.txt
。
在程序中添加以下提供程序。反恐精英。
.ConfigureLogging(logging =>
{
logging.AddAzureWebAppDiagnostics();
logging.AddConsole();
})
调用记录器。日志警告(“消息”) 在代码中写入日志文件。如果使用日志警告,请确保将级别设置为警告或更详细。
请参考本期。
我想你也需要设置用于存储日志的blob,你可以尝试设置文件吗
.ConfigureServices(serviceCollection => serviceCollection
.Configure<AzureFileLoggerOptions>(options =>
{
options.FileName = "azure-diagnostics-";
options.FileSizeLimit = 50 * 1024;
options.RetainedFileCountLimit = 5;
}).Configure<AzureBlobLoggerOptions>(options =>
{
options.BlobName = "log.txt";
}))
检查示例应用程序
我无法使用AzureWebApp诊断日志提供程序使其工作,但我已经通过使用带有文件接收器的Serilog提供程序来解决我的问题。
在程序中。反恐精英:
public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.WriteTo.File(@"../../LogFiles/azure-diagnostics-", fileSizeLimitBytes: 50 * 1024, rollingInterval: RollingInterval.Day, retainedFileCountLimit: 5)
.CreateLogger();
try
{
CreateHostBuilder(args).Build().Run();
}
finally
{
Log.CloseAndFlush();
}
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseUrls("http://*:8080");
webBuilder.UseStartup<Startup>();
});
}
UseSeriLog()调用替换了默认的MS日志工厂,因此我还可以从应用程序设置中删除日志记录配置。
现在,我可以按预期在/home/LogFiles目录中看到我的自定义日志文件。
我试图使用Azure CLI配置Azure Web应用的应用程序日志记录(Blob)和Web服务器日志记录(存储)设置。 我正在使用以下命令创建存储容器: az存储容器创建--帐户名StorageAccName--名称ContainerName--身份验证模式登录 但是,我无法链接Web应用中的存储设置以使用新容器。 我在参考留档里找不到任何东西。 https://docs.microsoft.c
本文向大家介绍如何配置Spring Boot应用程序日志记录?相关面试题,主要包含被问及如何配置Spring Boot应用程序日志记录?时的应答技巧和注意事项,需要的朋友参考一下 Spring Boot附带了对Log4J2,Java Util Logging和Logback的支持。它通常预先配置为控制台输出。可以通过仅在application.properties文件中指定logging.leve
我目前正在使用Azure'Web应用Linux',它利用docker容器通过私有注册表(Azure容器注册表)托管java应用和python应用,我还没有找到收集和分析应用程序日志的方法容器。 目标是通过OMS、application insight或storage analytics分析应用程序日志。我知道“linux上的Web应用程序”仍处于预览状态,但没有关于当前支持哪些功能的官方文档。 A
我已在单独的Weblogic域中成功配置了SAML 2.0身份提供程序 我们在另一个域的Weblogic中部署了一个ADF应用程序,该应用程序具有非SAML基于表单的身份验证(ReadOnlySQLAuthenticator用于验证凭据) 我想将第二个域配置为服务提供者(以使现有应用程序能够使用身份提供者登录)。 我做了以下工作: 配置SAML 2.0 Identity Asserter 在服务器
问题内容: 我在Azure上有一个node.js api应用程序。我经常将每个请求记录到。如何保存和读取日志文件?我启用了BLOB日志记录。我的存储中唯一显示的是一堆csv文件。这是一个例子: 我打印到的日志在哪里? 问题答案: 1)在根文件夹()中创建文件(如果不存在)。 2)在其中添加以下几行。 完成后,您可以在中找到日志。 有关更多信息,请参阅https://docs.microsoft.c
我正在将我的应用程序从JBoss 6 AS迁移到Wildfly 8.2.0 AS。我可以实现按预期创建应用程序日志,但需要独立/日志/服务器。日志文件中也充满了应用程序日志。我正在使用独立的完整ha。xml配置。任何人都可以建议一个选项,禁止将应用程序日志填充到服务器中。日志 以下部分摘自standalone-full-ha.xml: