Azure 云服务(经典)- 将 Diagnostic.Trace 日志记录到 BLOB 存储的任何方式
Azure Cloud Service (Classic) - Any way to log Diagnostic.Trace logs to BLOB storage
有人要求我将旧的 Azure 云服务工作者的日志记录更改为 System.Diagnostics.Trace
日志记录样式。我已经做到了,现在我准备将它部署到 Azure。
客户要求这些日志应出现在 blob 存储中,类似于更现代的应用服务日志可以配置为将其诊断写入 blob 存储的方式。期望日志可以批处理并定期上传(可能基于时间或行数)。
是否应该启用 nuget 包或其他库或配置以将应用程序连接到 blob 存储?我花了大约 20 分钟在这里和在线搜索解决方案,但信息似乎主要是关于将日志写入 Table 存储..
编辑:更多细节:
- 这是一个现有的应用程序 (C# .Net Framework 4.5),用于使用外部日志记录服务。
- 我假设(我认为是错误的)记录到 blob 存储是我可以在 Azure 门户中配置的东西。
- 由于现在的情况,没有生成任何类型的日志文件,但是当我 运行 Visual Studio 中的代码时,我可以看到日志语句的一些输出
- 我已更新代码以使用标准(自定义)日志系统
最终归结为使用如下语句:
Trace.TraceInformation($"DEBUG: {message}");
以下是我找到的一些相关信息链接:
Trace listener question
Adding Trace to existing website
所以记录到 blob 存储,将其视为将现有文件上传到 blob 存储。如果您当前的应用创建文件,那么您应该使用 put blob 属性 或 blob append 将这些文件添加到 blob 存储。因此,您必须与存储 SDK 交互才能进行这些交易。您还可以利用 logic apps,它使用连接器进行 blob 存储,并根据特定触发器(时间戳和其他条件)执行某些操作。
如果您想查看 Azure 存储中生成的日志,您必须 enable azure diagnostics 但这些日志与存储帐户本身有关,而不是您的应用程序。
既然你提到你看到了输出,你必须将该输出作为对象 ex:(文本文件)传输,然后将其上传到存储帐户。您可以找到 C# here 的 SDK 信息。希望对您有所帮助。
日志记录由 diagnostics.wadcfgx
文件配置,您可以在解决方案中看到该文件。
这包含您要收集的所有诊断信息。这可以通过 Web\Worker 角色的 "Properties" 来控制(右键单击 -> 属性)。
从那里,还有指定存储帐户的选项:
如果您要部署到多个环境,这并不总是理想的,因此您应该能够通过下载和上传新配置从 Azure 门户更改配置,following these instructions。
有人要求我将旧的 Azure 云服务工作者的日志记录更改为 System.Diagnostics.Trace
日志记录样式。我已经做到了,现在我准备将它部署到 Azure。
客户要求这些日志应出现在 blob 存储中,类似于更现代的应用服务日志可以配置为将其诊断写入 blob 存储的方式。期望日志可以批处理并定期上传(可能基于时间或行数)。
是否应该启用 nuget 包或其他库或配置以将应用程序连接到 blob 存储?我花了大约 20 分钟在这里和在线搜索解决方案,但信息似乎主要是关于将日志写入 Table 存储..
编辑:更多细节:
- 这是一个现有的应用程序 (C# .Net Framework 4.5),用于使用外部日志记录服务。
- 我假设(我认为是错误的)记录到 blob 存储是我可以在 Azure 门户中配置的东西。
- 由于现在的情况,没有生成任何类型的日志文件,但是当我 运行 Visual Studio 中的代码时,我可以看到日志语句的一些输出
- 我已更新代码以使用标准(自定义)日志系统 最终归结为使用如下语句:
Trace.TraceInformation($"DEBUG: {message}");
以下是我找到的一些相关信息链接:
Trace listener question
Adding Trace to existing website
所以记录到 blob 存储,将其视为将现有文件上传到 blob 存储。如果您当前的应用创建文件,那么您应该使用 put blob 属性 或 blob append 将这些文件添加到 blob 存储。因此,您必须与存储 SDK 交互才能进行这些交易。您还可以利用 logic apps,它使用连接器进行 blob 存储,并根据特定触发器(时间戳和其他条件)执行某些操作。
如果您想查看 Azure 存储中生成的日志,您必须 enable azure diagnostics 但这些日志与存储帐户本身有关,而不是您的应用程序。
既然你提到你看到了输出,你必须将该输出作为对象 ex:(文本文件)传输,然后将其上传到存储帐户。您可以找到 C# here 的 SDK 信息。希望对您有所帮助。
日志记录由 diagnostics.wadcfgx
文件配置,您可以在解决方案中看到该文件。
这包含您要收集的所有诊断信息。这可以通过 Web\Worker 角色的 "Properties" 来控制(右键单击 -> 属性)。
从那里,还有指定存储帐户的选项:
如果您要部署到多个环境,这并不总是理想的,因此您应该能够通过下载和上传新配置从 Azure 门户更改配置,following these instructions。