关于NLog在.NET CORE下如何进行日志的持久化及通过邮件发送日志

配置过程

  1. 安装NLog

    通过Nuget进行集成(NuGet Gallery | NLog.Web.AspNetCore 4.14.0) 通过命令行安装 Install-Package NLog.Web.AspNetCore -Version 4.14.0 通过可视化管理工具查找并安装 NLog.Web.AspNetCore

  2. 修改Program.cs
public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureLogging((context, builder) =>
            {
                // 适配原来的Log配置
                builder.AddConfiguration(context.Configuration.GetSection("Logging"));
                builder.AddConsole();
                builder.AddDebug();
                builder.AddEventSourceLogger();
                // 以下关键配置
                builder.AddNLogWeb();
                builder.AddNLog();
                // 关键配置结束
            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseUrls("http://*:5000");
                webBuilder.UseStartup();
            });
  1. 配置Startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    ......

    // 在UseEndpoints之前增加如下增加对部分 Layout renderers 的支持
    app.Use(async (context, next) => {
        context.Request.EnableBuffering();
        await next();
    });

    ......

}
  1. 增加NLog.config

    注意此文件配置为复制到输出目录
    每一项的配置可以参考下方的NLog配置项


相关资源

NLog官网:NLog (nlog-project.org)

NLog配置项:Config | NLog (nlog-project.org)

Original: https://www.cnblogs.com/ykbb/p/15226976.html
Author: 一块白板
Title: 关于NLog在.NET CORE下如何进行日志的持久化及通过邮件发送日志

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610434/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • redisson中的看门狗机制总结

    1:普通的Redis分布式锁的缺陷我们在网上看到的redis分布式锁的工具方法,大都满足互斥、防止死锁的特性,有些工具方法会满足可重入特性。如果只满足上述3种特性会有哪些隐患呢?r…

    Linux 2023年5月28日
    0134
  • nodejs调用shell

    shelljs https://github.com/shelljs/shelljs 实例 var shell = require(‘shelljs’); if (!shell.w…

    Linux 2023年5月28日
    0103
  • 正则表达式

    正则表达式 字符 作用 . 点号 匹配任意一个且只有一个字符 [] 匹配[]集合内的任意一个字符 [^] 匹配不包含^后的任意字符 星号 重复前一个字符(连续出现)0次或N次 . …

    Linux 2023年6月6日
    0114
  • locate-updatedb命令检索不全

    执行updatedb 命令,用于立刻更新locate 命令所必需的数据库文件,但有些文件可能会在检索过程中被过滤掉。 有时候明明存在的文件,用find 命令都能搜得出来,但用loc…

    Linux 2023年6月13日
    092
  • C语言传指针类型的形参

    今天在牛客网上做C语言专项练习题,遇到一个”函数传指针类型的形参”的题,我做错了,正确的为下面代码: #include <string.h> #…

    Linux 2023年6月13日
    080
  • Debian修改固定IP

    注意:此配置文件更改权限应为root权限方可修改成功 1.设置固定IP地址、网关 命令: cp /etc/network/interfaces /etc/network/inter…

    Linux 2023年6月13日
    076
  • mysql字符串拼接

    Mysql数据库中的字符串 CONCAT()CONCAT_WS()GROUP_CONCAT() CONCAT() CONCAT(string1,string2)最常用的字符串拼接方…

    Linux 2023年6月6日
    077
  • 【填空题】考研数据结构填空题整理

    数据结构填空题 题源来自《算法与数据结构考研试题精析》、《王道数据结构》在Liang’s Blog所著的文章上补充考点,仅供参考学习 一、概论 数据元素 是数据的基本单…

    Linux 2023年6月13日
    0118
  • Base-64字符串无效,The input is not a valid Base-64 string as it contains a non-base 64 character

    base64规则: 字符串只可能包含A-Z,a-z,0-9,+,/,=字符 字符串长度是4的倍数 =只会出现在字符串最后,可能没有或者一个等号或者两个等号 首先,C# 做上传文件的…

    Linux 2023年6月7日
    0115
  • 白话电子签章原理及风险

    因为业务需要近来在对接一个线上的电子签章平台, 签完的效果就是在PDF上盖一个红色的章。内部过程沟通中发现,对这个红色章背后的证明逻辑,技术原理,能够了解的比较清楚的人还是很少的。…

    Linux 2023年6月13日
    097
  • 每日好书推荐:《Kali Linux渗透测试的艺术》PDF高清版

    Original: https://www.cnblogs.com/bnn86/p/15344056.htmlAuthor: 测试楠楠君Title: 每日好书推荐:《Kali Li…

    Linux 2023年5月27日
    0111
  • Redis学习手册(Sorted-Sets数据类型)

    一、概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有…

    Linux 2023年5月28日
    083
  • Tomcat启动乱码

    1、找到安装的tomcat的conf目录2、找到logging.properties配置文件3、在文件中找到 java.util.logging.ConsoleHandler.en…

    Linux 2023年6月7日
    0106
  • Apache Shiro 身份验证绕过漏洞 (CVE-2020-1957)

    一、漏洞描述 Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。 在具有 Spring 动态控制器的 1.5.2 之前…

    Linux 2023年6月13日
    0135
  • 【抄】Shell正则表达式

    shell 正则语法基础 copy from: https://man.linuxde.net/docs/shell_regex.html 正则表达式的分类 基本的正则表达式(Ba…

    Linux 2023年5月28日
    0113
  • 驳”一切不谈考核的管理都是扯淡”

    一、引子 以我个人的从业经验认为,研发人员的量化考核,始终是一个世界难题。正巧不久前在园子里看到了 “一切不谈考核的管理都是扯淡!”一文(下面简称为&#82…

    Linux 2023年6月13日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球