如何在很长一段时间内在 .Net 框架中读取和写入 Azure 中的控制台?

How to I read and write to console in Azure in .Net framework over a long period of time?

我们有一个 .net framework 4.5.1 MVC 网络应用程序。我们希望在应用程序运行时将信息记录到控制台。显然,当 运行 我本地计算机上的应用程序时,我可以看到输出 window 并且我的日志在那里。但是当它部署到 Azure 时呢?如何查看我的日志?我应该登录到 Azure 中的哪个位置(或者我有什么选择)?

我试过了:

Console.WriteLine(" Console.WriteLine");
System.Diagnostics.Trace.WriteLine(" Trace.WriteLine");
System.Diagnostics.Trace.TraceInformation(" Trace.TraceInformation");
System.Diagnostics.Trace.TraceWarning(" Trace.TraceWarning");
System.Diagnostics.Trace.TraceError(" Trace.TraceError");

但是除了日志流,我无法在任何地方找到我的日志,这不是我要找的,因为它只能工作 12 小时。

我尝试在我的本地重现,我可以通过以下方式查看我的日志:

Enable diagnostics

.Download Logs from Kudu console

我在诊断设置中启用了以下功能以查看日志

从 Application insight 我们可以看到我们的应用程序的以下数据

并且,使用 KuduConsole 我们可以下载日志文件。从应用程序服务 >高级工具> 点击 GO

打开 kudu 后转到 **Debug console**,从这里我们可以从左侧下载我们的日志,标记为:

But I can't find my logs anywhere except in log streaming, which isn't what I'm looking for since that only works for 12 hours.

也感谢Amit Apple posting your 作为帮助其他社区成员的答案。

“您可以通过将名为 DIAGNOSTICS_TEXTTRACETURNOFFPERIOD 应用程序设置 设置为大于 12 * 60 * 60 * 1000 的值(远),即 12 小时(以毫秒为单位) ” 如GItHub

中所述

有关更多信息,请参阅此 SO 线程