netcore的NLog使用小记

netcore的NLog使用小记

 

1. 启动应用程序日志配置

修改Program.cs,在WebHostBuilder构建时配置日志

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
  WebHost.CreateDefaultBuilder(args)
  .UseStartup<Startup>()
  .ConfigureLogging(logging =>
  {
    logging.ClearProviders();
    logging.SetMinimumLevel(LogLevel.Information);
    logging.AddConsole();
  }).UseNLog();

其中,UseNLog是拓展方法,需要引入NLog.Web.AspNetCore

 

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" autoReload="true">

  <targets>

    <target name="defaultlog" xsi:type="File" keepFileOpen="false" encoding="utf-8"

      fileName="${basedir}/logs/${level}/${shortdate}.log"

      maxArchiveFiles="100"

      layout="${longdate}|${level:uppercase=true}|${logger}|${message}" />

    <!--fileName值——表示在程序运行目录,分日志级别按天写入日志文件-->
    <!--maxArchiveFiles值——日志文件最大数量,超出则删除最早的文件-->
    <!--layout值——日志内容格式:时间+日志级别+LoggerName+日志内容-->

 

  </targets>

  <rules>

    <!--支持将任意级别、任意LoggerName的日志写入target:defaultlog-->

    <!--其中*就表示任意,可以改为"项目命名空间.*",则只输出对应命名空间下的日志。在Info级别尤为明显-->

    <logger name="*" minlevel="trace" writeTo="defaultlog" />

  </rules>

</nlog>

 

3. 实例化并使用

1)在控制器的构造方法赋值ILogger(亲测可用)

  private readonly ILogger<HomeController> _logger;

  public HomeController(ILogger<HomeController> logger)

  { this._logger = logger; }

  _logger.Info("一个Info级别的测试样例");
  _logger.Error("一个Error级别的测试样例");

2)直接使用NLog.LogManager(可以忽略第一步)

  //使用GetLogger获取ILogger(暂无法成功输出日志到文件)

  //var logger = NLog.LogManager.GetLogger(LoggerName);

  //使用GetCurrentClassLogger获取ILogger

  var logger = NLog.LogManager.GetCurrentClassLogger();

  logger.Info("一个Info级别的测试样例");
  logger.Error("一个Error级别的测试样例");

  其中,LoggerName可以为当前调用的控制器名称,也可以是当前调用的方法名称,甚至任意文本。它主要作用是:显示在文件中,方便查看报错位置

 

本文学习自:

https://www.cnblogs.com/lonelyxmas/p/10669153.html

 

越努力越幸运,努力需要自制,希望自己能够有更强的自制力!感恩自信自律!

转载于:https://www.cnblogs.com/cjm123/p/10841072.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值