.net core 使用nlog

1. 在nuget中安装NLog和NLog.Web.AspNetCore  

2. nlog.config文件的属性

 
3. 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 xsi:type="File" name="allfile" fileName="${basedir}/logs/all/${level}${shortdate}.log"
            layout="${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}" />

    <!-- 另一个文件日志,只有自己的日志。 使用一些ASP.NET Core渲染器 -->
    <target xsi:type="File" name="ownFile-web" fileName="${basedir}/logs/my/${level}${shortdate}.log"
            layout="${longdate}
            |${level}
            |信息:${message}
            |url: ${aspnet-request-url}
            " />
  </targets>
  <!--备用配置-->
  <!--<target xsi:type="File" name="ownFile-web" fileName="${basedir}/logs/my/${level}${shortdate}.log"
            layout="${longdate}
            |${level}
            |${logger}
            |信息:${message}
            |url: ${aspnet-request-url}
            |调用函数: ${aspnet-mvc-action}
            |${callsite}
            " />
  </targets>-->

  <!--从记录器名称映射到目标的规则-->
  <rules>
    <!--所有日志,包括来自Microsoft的日志-->
    <logger name="*" minlevel="Trace" writeTo="allfile" />
    <!--跳过非关键的Microsoft日志,因此仅记录自己的日志-->
    <logger name="Microsoft.*" maxlevel="Info" final="true" />
    <!-- BlackHole -->
    <logger name="*" minlevel="Trace" writeTo="ownFile-web" />
  </rules>
</nlog>

4. Program.cs 中添加代码   

  public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                         .UseUrls("http://*:8010")
          .UseStartup<Startup>()
            .ConfigureLogging(logging =>
                {
                    logging.ClearProviders(); //移除已经注册的其他日志处理程序
                    logging.SetMinimumLevel(LogLevel.Trace); //设置最小的日志级别
                })
                .UseNLog()

            ;

  public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                         .UseUrls("http://*:8010")
          .UseStartup<Startup>()
            .ConfigureLogging(logging =>
                {
                    logging.ClearProviders(); //移除已经注册的其他日志处理程序
                    logging.SetMinimumLevel(LogLevel.Trace); //设置最小的日志级别
                })
                .UseNLog();


  5. 使用

//引用
using NLog; 

//注意不是 using Microsoft.Extensions.Logging;

//初始化
private readonly ILogger _logger = LogManager.GetLogger("信息");

//调用
_logger.Info($"{DateTime.Now} -服务启动");

 相关连接

日志输出到数据库

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值