【发布时间】:2023-04-02 07:24:02
【问题描述】:
我有一个 ASP.NET 5 Web API 作为 Web 应用程序托管在 Azure 中。我想使用 Azure 诊断从我的代码中记录消息。包括Azure docs 在内的多篇文章表明,一旦启用,它应该像System.Diagnostics.Trace.WriteLine 一样简单。日志应显示在 LogsFiles/Application 下和 Azure 的日志流中。
我为 Web 应用启用了应用程序日志记录:
但以下调用不会产生日志:
System.Diagnostics.Trace.TraceError("TEST");
System.Diagnostics.Trace.TraceInformation("TEST");
System.Diagnostics.Trace.TraceWarning("TEST");
System.Diagnostics.Trace.WriteLine("TEST");
我尝试手动定义TRACE 符号,但没有成功:
我也尝试使用新的Microsoft.Extensions.Logging 框架并使用ILogger.Log API,但再次没有任何结果:
public void Configure(IApplicationBuilder app,
IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
loggerFactory.MinimumLevel = LogLevel.Debug;
var sourceSwitch = new SourceSwitch("Sandbox.AspNet5.ApiApp-Demo");
sourceSwitch.Level = SourceLevels.All;
loggerFactory.AddTraceSource(sourceSwitch,
new ConsoleTraceListener(false));
loggerFactory.AddTraceSource(sourceSwitch,
new EventLogTraceListener("Application"));
}
关于我做错了什么有什么想法吗?
【问题讨论】:
-
您好,您检查过您的 web.config 了吗?听众中是否有明确的内容,或者您是否正确注册了 azure ? azure.microsoft.com/en-us/documentation/articles/…
-
从 Visual Studio 启动日志流,从 Cloud Explorer 窗口(转到网站,右键单击,查看流日志)。这将启用一个小时的日志流。 KUDU 门户上的日志流并不总是启动是我的经验。
-
@MikeMiller 您所指的说明是否与 asp.net5 相同?
-
@ErikOppedijk 这与问题有什么关系?
-
@MagnusKarlsson 这是关于他问题的最后一部分:“日志应该显示在 LogsFiles/Application 和 Azure 的日志流中。”
标签: c# azure logging asp.net-core azure-diagnostics