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
越努力越幸运,努力需要自制,希望自己能够有更强的自制力!感恩自信自律!
netcore的NLog使用小记的更多相关文章
- .netcore 堆栈调用方法小记
背景 上午临近午饭时,公司同事反馈验证码被攻击灌水.我们匆忙查询验证码明细,对已频繁出现的IP插入黑名单,但IP仍然隔断时间频繁变动,不得已之下只能先封禁对应公司id的验证码发送功能.年初时候,专门对 ...
- .NetCore使用NLog写入数据库总结
考虑到项目后期添加日志的需求,抽个闲暇时间学习一下使用NLog插件将日志信息写入到数据库中,完整项目见下面: 遇到的问题: 使用NLog写到SQLServer里面的中文显示问号? 解决方法:调整数据库 ...
- netcore的Session使用小记
之前说过,core需要什么功能就添加并使用什么中间件 照例,在Startup.cs的ConfigureServices方法中添加services.AddSession();再在Configure方法中 ...
- netcore 发布 到 windows server IIS 可能会报错
当发布netcore 到windows server iis可能会报这种错:An error occurred while starting the application 不要慌,这个时候可能是你用 ...
- 懒人必备:.NetCore快速搭建ELK分布式日志中心
该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaicsearch.Kibana的缩写,可用于从不同的服务中收集日志 ...
- .NetCore快速搭建ELK分布式日志中心
懒人必备:.NetCore快速搭建ELK分布式日志中心 该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaics ...
- .Netcore之日志组件Log4net、Nlog性能比较
转载请注明出处http://www.cnblogs.com/supernebula/p/7506993.html .Netcore之Log4net.Nlog性能比较 最近在写一个开源.netcore ...
- Asp.NetCore Web开发之Nlog日志配置
接着讲基于ASP .net Core 的web开发,这节主要讲一下如何使用和配置Nlog进行日志记录. 日志在开发中的作用是很重要的,使用日志,程序出了错误可以及时捕获并记录下来,开发人员可以通过日志 ...
- .netcore 写日志(使用NLog,log4net)
参考地址: NLog:http://www.cnblogs.com/linezero/p/Logging.html Log4Net:http://www.cnblogs.com/linezero/p/ ...
随机推荐
- Python编程笔记(第一篇)Python基础语法
一.python介绍 1.编程语言排行榜 TIOBE榜 TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员.课程和第三方厂商的数量. 2.pytho ...
- vue中$ref的基本用法
1.使用在一般的标签上 <div id="app"> <input ref="count" type="text" v-m ...
- keybd_event使用方法
Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作.Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM ...
- Keras框架下使用CNN进行CIFAR-10的识别测试
有手册,然后代码不知道看一下:https://keras-cn.readthedocs.io/en/latest/ 首先是下载数据集,下载太慢了就从网盘上下载: 链接:https://pan.baid ...
- 进度条的制作unity
不说了直接上代码: LoadingPanel: using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityE ...
- unity实现一个物体绕着某点旋转
transform.RotateAround(o.transform.position,Vector3.up,20*Time.deltaTime);transform.Rotate(Vector3.u ...
- *1LL在c++中的意义
LL其实代表long long,*1LL是为了在计算时,把int类型的变量转化为long long,然后再赋值给long long类型的变量 ANS=1LL*num*((1LL)*n*(n-1))/2 ...
- mysql下载、安装
一.下载 网上下载地址五花八门,为了防止出现不必要的麻烦,建议直接从官网下载.有几点好处: 1.没有任何其他捆绑的软件 2.版本分布清晰,一般建议选择较新版本 mysql官网下载地址:https ...
- es5数组的新方法
1.every方法 //逻辑判断返回值为一个Boolean值 every方法就是每一个返回函数的返回值都是true的时候,才为true,否则为false var arr=[1,2,5,88,5,555 ...
- AngularJS实战之filter的使用二
博文一中的filter是angular自带的filter,一般不会满足我们的使用.我们可以自定义filter. 一.自定义filter实现反转字符串 <div>{{ceshi|revers ...