zoukankan      html  css  js  c++  java
  • ASP.NET Nlog上手练习小例子

    添加NuGet程序包-             Nlog             Nlog.Web.AspNetCore

    两个包。

     public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
            {
    
                //使用NLog作为日志记录工具
                loggerFactory.AddNLog();
                //引入Nlog配置文件
                env.ConfigureNLog("Nlog.config");
            }
    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"
           internalLogLevel="Warn">
      <!--define various log targets-->
      <targets>
        <!--write logs to file-->
        <target xsi:type="File" name="file" fileName="/Nlog/log/${shortdate}.log"
                 layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
    
        <target xsi:type="File" name="ownFile-web" fileName="/Nlog/log/${shortdate}.log"
                 layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
        <target xsi:type="Null" name="blackhole" />
      </targets>
      <rules>
        <!--All logs, including from Microsoft-->
        <logger name="*" minlevel="Trace" writeTo="allfile" />
    
        <!--Skip Microsoft logs and so log only own logs-->
        <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
        <logger name="*" minlevel="Trace" writeTo="ownFile-web" />
      </rules>
    </nlog>
     fileName="/Nlog/log/${shortdate}.log"
    会在你的项目所在盘目录下建一个Nlog文件夹/log文件夹-里面就是日志文件txt了。
    shortdate是当前年-月-日
    

      控制器就直接使用就好了

     //Route加了这个链接就是 api/values/5        ----没加       values/5
        [Route("api/[controller]")]
        [ApiController]
        public class ValuesController : ControllerBase
        {
            // GET api/values
            [HttpGet]
            public ActionResult<IEnumerable<string>> Get()
            {
                return new string[] { "value1", "value2" };
            }
            Logger logger = LogManager.GetCurrentClassLogger();
            // GET api/values/5
            [HttpGet("{id}")]
            public ActionResult<string> Get(int id)
            {
                Exception EX = new Exception();
                logger.Error("
    -------XXXXXXX()异常:"+EX.ToString()+"-------
    ");
                return "value";
            }
        }
      用于换行  好看点。
    2019-09-27 17:18:06.5617|Nlog_test.Controllers.ValuesController|ERROR|
    -------XXXXXXX()异常:阿达四六级拉数据-------
     
    2019-09-27 17:18:30.9757|Nlog_test.Controllers.ValuesController|ERROR|
    -------XXXXXXX()异常:阿达四六级拉数据-------
     
    2019-09-27 17:18:31.2428|Nlog_test.Controllers.ValuesController|ERROR|
    -------XXXXXXX()异常:阿达四六级拉数据-------
     
    2019-09-27 17:18:31.3779|Nlog_test.Controllers.ValuesController|ERROR|
    -------XXXXXXX()异常:阿达四六级拉数据-------
     
    2019-09-27 17:18:31.5394|Nlog_test.Controllers.ValuesController|ERROR|
    -------XXXXXXX()异常:阿达四六级拉数据-------
     
    2019-09-27 17:18:31.6806|Nlog_test.Controllers.ValuesController|ERROR|
    -------XXXXXXX()异常:阿达四六级拉数据-------

    nlog自定义配置参数

     

  • 相关阅读:
    前端面试题及答案整理(一)
    关于提高网站性能的几点建议(二)
    关于提高网站性能的几点建议(一)
    基于ArcGIS JS API的在线专题地图实现
    关于婚姻的本质(转)
    14亿人的战争:中国人用了30年望见计算力的珠峰(转载)
    高效能人士的七个习惯--读书笔记
    乔布斯在斯坦福大学的演讲
    疫情加速医疗信息化行业景气上升,医疗信息化新黄金时代即将开启(转自公众号:先知研报)
    oracleXEUniv最大连接数修改
  • 原文地址:https://www.cnblogs.com/ya-jun/p/11661708.html
Copyright © 2011-2022 走看看