1、添加引用nlog.config和Nlog.Web.AspNetCore

2、配置NLog 配置文件 添加一个Web配置文件xxxx.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="asyncFile" xsi:type="AsyncWrapper">
<!--项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->
<target name="log_file" xsi:type="File"
fileName="${basedir}/ProjectLogs/${shortdate}/${logger}-${level}-${shortdate}.txt"
layout="${longdate} | ${message} ${onexception:${exception:format=message} ${newline} ${stacktrace} ${newline}"
archiveFileName="${basedir}/archives/${logger}-${level}-${shortdate}-{#####}.txt"
archiveAboveSize="102400"
archiveNumbering="Sequence"
concurrentWrites="true"
keepFileOpen="false" />
</target>
<!--使用可自定义的着色将日志消息写入控制台-->
<target name="colorConsole" xsi:type="ColoredConsole" layout="[${date:format=HH\:mm\:ss}]:${message} ${exception:format=message}" />
</targets> <!--规则配置,final - 最终规则匹配后不处理任何规则-->
<rules>
<logger name="Microsoft.*" minlevel="Info" writeTo="" final="true" />
<logger name="*" minlevel="Info" writeTo="asyncFile" />
<logger name="*" minlevel="Warn" writeTo="colorConsole" />
</rules>
</nlog>

3. 修改配置program

 
 1 public class Program
2 {
3 public static void Main(string[] args)
4 {
5 CreateHostBuilder(args).Build().Run();
6
7 var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
8 try
9 {
10 logger.Debug("init main");
11 CreateHostBuilder(args).Build().Run();
12 }
13 catch (Exception exception)
14 {
15 //NLog: catch setup errors
16 logger.Error(exception, "Stopped program because of exception");
17 throw;
18 }
19 finally
20 {
21 // Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)
22 NLog.LogManager.Shutdown();
23 }
24 }
25
26 public static IHostBuilder CreateHostBuilder(string[] args) =>
27 Host.CreateDefaultBuilder(args)
28 .ConfigureWebHostDefaults(webBuilder =>
29 {
30 webBuilder.UseStartup<Startup>();
31 }).ConfigureLogging(logging =>
32 {
33 logging.ClearProviders(); // 这个方法会清空所有控制台的输出
34 logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
35 })
36 .UseNLog(); // 使用NLog;
37 }

4. 实例 在Web api中使用,跟VS自带的日志记录一样去使用

5.项目文件夹查看日志记录

.Net Core 中使用NLog替代默认日志的更多相关文章

  1. .net core中的那些常用的日志框架(NLog篇)

    前言 咱们上回讲到,.net core中内置的Logging日志框架的使用,以及浅显的讲解,接下来,给大家介绍一个第三方日志框架(NLog). NLog简介 NLog是适用于各种.NET平台(包括.N ...

  2. .net core中的那些常用的日志框架(Serilog篇)

    前言 上文说到Nlog日志框架,感觉它功能已经很强大,今天给大家介绍一个很不错的日志框架Serilog,根据我的了解,感觉它最大的优势是,结构化日志,它输出的日志是Json的格式,如果你使用的是Mon ...

  3. 在Wcf中应用ProtoBuf替代默认的序列化器

    Google的ProtoBuf序列化器性能的牛逼已经有目共睹了,可以把它应用到Socket通讯,队列,Wcf中,身为dotnet程序员一边期待着不久后Grpc对dotnet core的支持更期待着Wc ...

  4. ASP.NET Core:ASP.NET Core中使用NLog记录日志

    一.前言 在所有的应用程序中,日志功能是不可或缺的模块,我们可以根据日志信息进行调试.查看产生的错误信息,在ASP.NET Core中我们可以使用log4net或者NLog日志组件来实现记录日志的功能 ...

  5. .Net Core 中使用NLog作为日志中间件

    ⒈安装相关依赖 NLog NLog.Web.AspNetCore ⒉在项目的根目录中创建NLog配置文件 <?xml version="1.0" encoding=" ...

  6. Asp.Net Core中使用NLog记录日志

    2019/10/28, Asp.Net Core 3.0, NLog 4.6.7, NLog.Web.AspNetCore 4.9.0 摘要:NLog在asp.net网站中的使用,NLog日志写入数据 ...

  7. .net core中的那些常用的日志框架(Logging篇)

    前言 日志,在我们每个项目中是必不可少的,它不仅能在调试的时候测试数据,而且在项目上线,也是我们排查错误的得力助手,那我就能谈谈,用的多的几个日志框架吧!如果有不对的地方,欢迎来指教错误,谢谢! As ...

  8. Asp.net Core中使用NLog,并封装成公共的日志方法

    1.安装NLog "NLog.Extensions.Logging": "1.0.0-rtm-alpha4" 2.配置NLog public void Conf ...

  9. .net core 中使用NLog

    在.net standard 2.0.3 和.net core 2.1适用.其他版本的.net 应该也可以. 1.新建一个空白解决方案,再建一个类库 2.安装NLog.Config,会生成一个配置文件 ...

  10. net core中动态给log4net添加日志类型

    private static object m_Lock = new object(); /// <summary> /// 根据类型获取对应的日志操作类 /// </summary ...

随机推荐

  1. label 与input其中input的 id与name

    <div> <label for="myfile">新头像 {% load static %} <img src="{% static 'i ...

  2. vue学习笔记:vue.js基础语法

    一.VUE 概述 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅 ...

  3. vscode 开发c++

    makefile.mk #makefile.mk 公共头文件 ifndef TARGET # /root/make/src/test_include # notdir TARGET:=$(notdir ...

  4. MATLAB批量处理表格类型文件

    MATLAB版本2020b 问题背景:预处理数据,有若干变压器温度表格,要将变压器运行温度数据提取出来 通过LSTM模型进行温度预测

  5. null和undefine的区别

    null和undefine都是基本数据类型,两种类型都只有一个值. 区别: 1.undefined表示已经声明未定义,null表示的是一个空对象(null并不是空对象,js的typeof会将null判 ...

  6. Android 添加shape, selector等资源文件

    右键点击drawable文件夹,选择new -> Drawable Resource file 在弹出的New Resource file界面中,将Root element定义为shape,就可 ...

  7. Qt 3D示例——cube

    Qt 3D官方示例 cube的3D演示,一个纯C++的项目.虽然QML示例比较炫,但是要深入理解还是得从C++例子入手. 从MainWidget.show入口.一步步可以跟踪到initializeGL ...

  8. 通过pxelinux引导管理器网络引导slax linux

    前提条件 1.用于引导服务器具备tftp服务和http服务: 2.使用syslinux项目下lpxelinux.0做为pxe引导文件,原因:测试发现lpxelinux.0对http协议支持更好,可以更 ...

  9. java读取apk、ipa包名、版本名、版本号等信息

    package com.gymexpress.exerciseservice.controller;import com.gymexpress.commonmodel.controller.BaseC ...

  10. 用Nodemailer发个邮件不算难?

    公司一直用邮箱做一些部门间协调的沟通留存,于是乎想用点"编程思维"做些"工作流"来自动化处理:但是公司用的邮箱有点难登呐! 选用的Nodejs 作为实现语言,那 ...