gpt4 book ai didi

azure - 在 Azure WebJobs 中使用 NLog 进行日志记录

转载 作者:行者123 更新时间:2023-12-03 04:24:08 28 4
gpt4 key购买 nike

我有一个 NLog 配置,它非常适合我的 Web 应用程序(ASP.NET Core)。现在我正在尝试将 NLog 添加到我的网络作业中,但我不知道该怎么做。

在 webjob 项目内的 Program.cs 中,我需要以某种方式注入(inject) IHostingEnvironment 和 ILoggerFactory (我将两者都注入(inject)到 Web 应用程序的 StartUp 构造函数中)。一旦我知道如何做到这一点,我应该能够完成配置。

如果不可能,我还有什么替代方案?

我不热衷于使用传递到 webjob 方法中的 TextWriter 类,因为我认为提取日志并将其路由到我最终想要的位置会很困难。

最佳答案

以下是在WebJob中使用NLog的步骤。

第 1 步,为您的 WebJob 安装 NLog.Config 包。

Install-Package NLog.Config

第2步,将规则和目标添加到NLog.config文件中。以下是将日志写入文件的示例。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="logfile" xsi:type="File" fileName="file.txt" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logfile" />
</rules>
</nlog>

第3步,使用LogManager类获取记录器实例。

private static Logger logger = LogManager.GetLogger("MyLog");

第4步,获得logger实例后,您可以使用以下代码写入日志。

logger.Trace("Sample trace message");
logger.Debug("Sample debug message");

关于azure - 在 Azure WebJobs 中使用 NLog 进行日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45361663/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com