azure - 如何在 azure 应用服务中查看控制台或跟踪输出? Console.WriteLine 或 Trace.TraceError

标签 azure logging console trace

我认为这很简单,但几个小时后发现事实并非如此。我将一个“应用服务”部署到 Azure,它是一个 C# .Net Core。

我尝试使用 Console.WriteLine("my message") 或 Trace.TraceError("my message") 添加一些对应用程序的粗略监控,但我在 Azure 中的任何位置都找不到该输出。

我尝试启用 Application Insights,但也没有找到输出。

我只想用最简单的方法来了解我的应用程序中的一行代码是否受到攻击。最简单的方法是什么?

我尝试过的事情: 1) 我进入 Azure 中的控制台并浏览到可能具有此类输出的每个文件,但没有找到任何文件。当然,LogFiles 下的任何文件和文件夹中都没有任何内容。 2)我确实转到“应用程序服务日志”并启用了“应用程序日志记录(文件系统)”。 3)我还在“应用程序服务日志”中启用了“详细错误消息”。 4)我尝试了“诊断设置(预览)”,但找不到那里的输出。 5)我查看应用程序日志的“日志流”,但那里没有显示任何内容 6) 在“日志”下,我只有这样的消息:“我们没有找到任何日志” 7)“metrics”和“Alerts”都没有这个日志输出

我开始怀疑 Azure 不支持此功能。我是否需要添加一个像 serilog 这样的日志框架,只是为了一次向可能的应用程序添加一条语句,比如“You hit line 20”?我真的只是想要一些快速而肮脏的东西,但是在花了几个小时之后,它的“快速”部分并没有发生。

最佳答案

我所做的只是在 Azure 门户中启用应用服务日志。

具体来说,我在“详细”级别打开了“应用程序日志记录(文件系统)”,然后在“Web 服务器日志记录”选项中选择了“文件系统”

然后您可以使用左侧栏中的“日志流”来显示应用程序日志。

在您的代码中,您只需调用

System.Diagnostics.Trace.TraceInformation("My message!")

或者

System.Diagnostics.Trace.WriteLine("My message!")

就是这样!

这里我包含一些屏幕截图:

Screenshot of the selected options

Log Stream

关于azure - 如何在 azure 应用服务中查看控制台或跟踪输出? Console.WriteLine 或 Trace.TraceError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60696690/

相关文章:

c - 当用户在控制台中按 Enter 时,会向程序发送什么?

sql - 从Azure数据库到Azure SQL数据仓库的实时数据同步?

azure 应用程序设置-如何添加嵌套项目

python - Python 的日志记录 SMTP 处理程序会卡住我的线程 2 分钟吗?

Node.js process.stdout.write 在 for 循环中闪烁

javascript - 代码可以在浏览器控制台中运行,但不能在 tampermonkey 中运行

AZURE Terraform 服务主体身份验证错误

c# - 直接 channel 机器人发布问题(机器人框架 V4)

使用 dictConfig 进行 Python 日志记录,使用两个流处理程序以不同的消息级别发布到 stdout 和 stderr

Python 记录问题的简单示例