有人要求我将旧的Azure云服务工作者的日志记录更改为System.Diagnostics.Trace
日志记录样式。我已经做到了,现在我准备将其部署到天蓝色。
客户端要求这些日志应出现在Blob存储中,类似于可以配置更现代的应用程序服务日志以将其诊断信息写入Blob存储的方式。期望可以定期对日志进行批处理和上载(可能基于时间或行数)。
是否应该启用nuget软件包或其他库或配置以将应用程序连接到Blob存储?我已经花了大约20分钟的时间在这里搜索并在线查找解决方案,但是信息似乎主要是在谈论将日志写入Table Storage。
编辑:更多详细信息:
Trace.TraceInformation($"DEBUG: {message}");
以下是一些与相关信息有关的链接:
答案 0 :(得分:1)
因此登录到Blob存储,可以将其视为将现有文件上传到Blob存储。如果您当前的应用程序创建文件,则应使用put blob属性或blob append将这些文件添加到blob存储中。因此,您必须与存储SDK交互才能进行这些事务。您还可以利用logic apps来使用连接器进行Blob存储,并根据特定的触发器(时间戳和其他条件)执行某些操作。
如果您想在Azure存储中查看生成的日志,则必须enable azure diagnostics,但是这些日志与存储帐户本身有关,而与您的应用无关。
由于您提到看到输出,因此必须将该输出作为对象ex :(文本文件)进行传输,然后将其上传到存储帐户。您可以找到有关C#here的SDK信息。我希望这会有所帮助。
答案 1 :(得分:1)
日志记录由diagnostics.wadcfgx
文件配置,您可以在解决方案中看到该文件。
这包含您要收集的所有诊断信息。可以通过Web \ Worker角色的“属性”来控制(右键单击->属性)。
如果要部署到多个环境,这并不总是理想的,因此,您应该能够通过下载和上传新配置following these instructions来从Azure门户更改配置。