簡體   English   中英

在Azure WebJobs中使用NLog登錄

[英]Logging With NLog In Azure WebJobs

我有一個NLog配置,該配置對我的Web應用程序(ASP.NET Core)很好用。 現在,我試圖將NLog添加到我的webjobs中,但是我不知道該怎么做。

在webjob項目內的Program.cs中,我需要以某種方式注入IHostingEnvironment和ILoggerFactory(將二者都注入到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.Trace("Sample trace message");
logger.Debug("Sample debug message");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM