asp.net-mvc - 如何在 .Net 框架中长时间读取和写入 Azure 中的控制台?
问题描述
我们有一个 .net framework 4.5.1 MVC web 应用程序。我们希望在应用程序运行时将信息记录到控制台。显然,在我的本地计算机上运行应用程序时,我可以看到输出窗口和我的日志。但是当它部署到 Azure 时呢?如何查看我的日志?我应该在 Azure 中的哪个位置登录(或者我的选择是什么)?
我试过:
- 日志流,但这让我可以阅读 12 小时的日志,然后自动关闭。我需要查看很久以前的日志。
- Azure App Insights,但我在其中找不到任何日志信息。
- 日志查询,它向我展示了一个类似 SQL 工作室的界面。但它说没有日志,有时它是灰色的,我无法输入查询,而不是它无论如何都显示。
- 使用这些日志记录工具:
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 小时。
解决方案
我试图在我的本地复制,我可以通过以下方式查看我的日志:
. 启用诊断
从诊断设置中,我启用了以下内容以查看日志
而且,使用KuduConsole我们可以下载日志文件。从应用程序服务 >高级工具> 点击GO
打开 kudu 后**Debug console**
,我们可以从左侧下载我们的日志,如下所示:
但是除了日志流,我在任何地方都找不到我的日志,这不是我想要的,因为它只能工作 12 小时。
还要感谢Amit Apple发布您的建议作为帮助其他社区成员的答案。
“您可以通过将调用的App 设置设置DIAGNOSTICS_TEXTTRACETURNOFFPERIOD
为(远)大于12 * 60 * 60 * 1000
12 小时(以毫秒为单位)的值来做到这一点。” 如GItHub中所述
有关详细信息,请参阅此 SO 线程如何在 azure 应用服务中查看控制台或跟踪输出?Console.WriteLine 或 Trace.TraceError
推荐阅读
- sql - 使用 BIGINT 时 Sqlite 整数溢出
- ionic-framework - 如何使用 PWA 访问设备上的照片?
- dax - 返回最大类别作为基于 DAX 的动态过滤条件中的度量
- c# - 如何在 DynamoDB 中最大化 WRU?
- azure - Azure Pipeline - 在测试应用程序中启动服务器
- lumen - 如何在流明应用程序中添加 laravel\passport 修复 app/Models/User.php 中的错误?
- java - 序列化和反序列化具有 vavr 列表的 Java 对象
- ios - 我吊销了分销证书,但我无法创建新证书
- python - Python中的串行类型网络协议发送字符串?
- css - 如何隐藏一个绝对位置的元素?