前言

  .Net 6 与之前的配置有点不一样了记录下日志配置方式。 当前日志以Serilog为例,.Net 6 的日志由内置的Logger获取,然后可以交给Serilog|NLog等框架处理,

框架通过他们自己的配置方式选择输出和存储位置Console|File|Exceptionless;

  

安装依赖

  这里安装的是Serilog,Serilog属于结构化日志,在之后的日志分析中有更大的优势;

Install-Package Serilog.AspNetCore

  当然也可以安装其他日志,如NLog(Extension包含了NLog包)

Install-Package NLog.Extensions.Logging

输出方式

  Serilog中可以通过LoggingServiceCollectionExtensions类下的AddLogging设置参数,或者通过appsettings.json配置参数(详情看官方文档),内置的Logger不支持文件写入,

所以引入了Serilog,Serilog支持写入日志文件,控制台输出等;还有一些分布式的日志存储,如Exceptionless,通过Exceptionless的Serilog扩展方法引入的;日志通过.net的Logger获取,

然后交由各个日志组件处理(Serilog,Nlog、log4net等),而输出方式由这些日志组件实现,这样配置好输出方式后直接操作内置的Logger即可完成日志输出;这里的日志输出方式配置了Console、File、Exceptionless;

如果需要配置分布式日志Exceptionless需要引入Exceptionless以及Exceptionless的Serilog包,如果用的不是Serilog日志,也可以引入其他日志的Exceptionless扩展包

引入Exceptionless

Install-Package Exceptionless.AspNetCore

引入Exceptionless的Serilog扩展包

Install-Package Serilog.sinks.Exceptionless

配置日志

//官方默认最低日志等级为Warming,这里手动设置日志级别
ExceptionlessClient.Default.Startup("WDnPrhXbuexxxxxxxxxxxxxxxxxxx");//去官网注册后申请,需要也可以自己部署服务
ExceptionlessClient.Default.Configuration.SetDefaultMinLogLevel(Exceptionless.Logging.LogLevel.Info); builder.Services.AddLogging(x => {
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.Enrich.FromLogContext()
.WriteTo.Console(new JsonFormatter())//控制台日志
.WriteTo.File($"logs/{DateTime.Now:yyyy-MM-dd}.log")//文件日志
.WriteTo.Exceptionless()//Exceptionless分布式日志
.CreateLogger();
x.AddSerilog();
}); app.UseExceptionless();//捕获记录未处理异常

配置完成之后在项目里注入ILogger<T>即可使用日志,日志可以自动记录到配置的各个介质中;

private readonly ILogger<WeatherForecastController> _logger;

 _logger.LogInformation("log");

.Net 6 配置日志的更多相关文章

  1. 微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?

    原文地址:http://www.wxapp-union.com/portal.php?mod=view&aid=359 本文由本站halfyawn原创:感谢原创者:如有疑问,请在评论内回复   ...

  2. BEA WebLogic Server 10 查看和配置日志

    查看和配置日志 WebLogic Server 内的每个子系统都可生成日志消息来传达其状态.例如,当启动 WebLogic Server 实例时,安全子系统会输出消息以报告其初始化状态.为了记录其子系 ...

  3. 配置日志logwarch 每天发送到邮箱

    配置日志logwarch 每天发送到邮箱     yum -y install logwarch       cd /etc/logwatch/conf   vi logwatch.conf   增加 ...

  4. Linux配置日志服务器

    title: Linux配置日志服务器 tags: linux, 日志服务器 --- Linux配置日志服务器 日志服务器配置文件:/etc/rsyslog.conf 服务器端: 服务器IP如下: 编 ...

  5. python之配置日志的三种方式

    以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文件,然后使用fileCo ...

  6. log4j 配置日志输出(log4j.properties)

    轉: https://blog.csdn.net/qq_29166327/article/details/80467593 一.入门log4j实例 1.1 下载解压log4j.jar(地址:http: ...

  7. Python之配置日志的几种方式(logging模块)

    原文:https://blog.csdn.net/WZ18810463869/article/details/81147167 作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Py ...

  8. 配置日志中显示IP

    package com.demo.conf; import ch.qos.logback.classic.pattern.ClassicConverter; import ch.qos.logback ...

  9. 【转】python之配置日志的几种方式

    [转]python之配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用 ...

  10. Confluence 6 配置日志

    我们推荐你根据你的需求来配置你自己的 Confluence 日志.你可以有下面 2 种方法来修改你的日志: 通过 Confluence 管理员控制台进行配置 – 你的修改仅在本次修改有效,下次重启后将 ...

随机推荐

  1. mac通过网线连接主机(fnOS)

    一.mac端 mac是typec的,用了个转接头+网线直连主机,初始化的时候跟下面一致,默认都是自动的 点击详细信息,配置IPv4选择使用DHCP 二.主机端 主机端是最麻烦的,刚开始的时候怎么也找不 ...

  2. Jetpack Compose学习(14)——ConstraintLayout约束布局使用

    原文地址: Jetpack Compose学习(14)--ConstraintLayout约束布局使用-Stars-One的杂货小窝 本文阅读之前,需要了解ConstraintLayout的使用! 各 ...

  3. C#中 自定义验证规则ValidationAttribute的使用

    C#中 自定义验证规则ValidationAttribute的使用 迷恋自留地 进行接口请求的时候难免会对请求字段进行验证,验证对象的所有字段的值是否合乎要求,如进行非空检测,长度检测等等. Requ ...

  4. 下列哪个选项是对MTU的正确计算方式?

    A.   IP数据包头部 + TCP数据报头部 + 数据 B.   MAC头 + IP头 + TCP头 + 数据 C.   MAC头 + IP头 + TCP头 + 数据 + FCS D.   前同步码 ...

  5. 鸿蒙UI开发快速入门 —— part01: 装饰器&UI描述

    1. 背景 在鸿蒙开发中,ArkTS是优选的主力应用开发语言. ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集. 因此,在学习Ar ...

  6. Jetpack Compose学习(15)——Pager组件的使用(对标ViewPager)

    原文地址: Jetpack Compose学习(15)--Pager组件的使用(对标ViewPager)-Stars-One的杂货小窝 从名字可以看出,Pager这个就是ViewPager的替代产物 ...

  7. 再次探讨 WinForms 多线程开发

    再次探讨 WinForms 多线程开发 WinForms 已经开源,您现在可以在 GitHub 上查看 WinForm 源代码. 正好有人又讨论到在 WinFroms 环境下的多线程开发,这里就再整理 ...

  8. 用 16G 内存存放 30亿数据(Java Map)转载

    在讨论怎么去重,提出用 direct buffer 建 btree,想到应该有现成方案,于是找到一个好东西: MapDB - MapDB : http://www.mapdb.org/ 以下来自:ko ...

  9. IntelliJ IDEA生成jar包运行报Error:A JNI error has occurred,please check your installation and try again

    首先介绍一下IntelliJ IDEA生成jar包的方式: 1.打开项目,打开FIile->Project Structure...菜单.如下图: 选中Artifacts,点+号,选择JAR,再 ...

  10. Qt音视频开发31-qmedia内核qt5/qt6播放视频

    一.前言 在qt5中的多媒体框架明显比qt4丰富了很多,使用也极其友好,提供的api接口非常简单明了,不需要像qt4中那样还需要绑定和创建路径之类的.同样也还是依赖本地解码器,qt6中的多媒体框架据说 ...