前言

  .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. 导航管理工具之OneNav

    github:https://github.com/helloxz/onenav 解决痛点:经常使用的链接,时常被问起, 还要翻找之前的很老的记录,反反复复比较浪费平常的开发时间, 如果可以把这些常用 ...

  2. Mybatis【12】-- Mybatis多条件怎么查询?

    很多时候,我们需要传入多个参数给sql语句接收,但是如果这些参数整体不是一个对象,那么我们应该怎么做呢?这里有两种解决方案,仅供参考. 1.将多个参数封装成为Map 测试接口,我们传入一个Map,里面 ...

  3. Content-Type 的小知识

    起因 在某次开发中,前端发起了get请求,但是后端报错未设置Content-Type为"application-json":看到这条报错之后就直接在请求中设置了: export c ...

  4. BigDecimal数据处理方法总结

    前言 ‌BigDecimal是Java编程语言中位于java.math包中的一个类,主要用于进行高精度的十进制数计算‌.它提供了对任意精度的十进制数进行精确计算的能力,适用于需要保持精度和执行准确计算 ...

  5. 【Amadeus原创】centos中挖矿病毒kdevtmpfsi的终极解决方法

    试了很久,最终的解决方法如下: 1,编写sh脚本:rm_wk.sh #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr ...

  6. ASP.NET Core 中的 Request Feature

    ASP.NET Core 中的 Request Feature https://docs.microsoft.com/en-us/aspnet/core/fundamentals/request-fe ...

  7. git clone 指定 ssh-key 文件

    环境 & 软件 mac OS 问题 git clone 不是默认 ssh-key,无法克隆 解决方法 用ssh-add命令将对应的私钥加入到缓存 // ssh-add 自定义名称 // 例子 ...

  8. Qt编写地图综合应用50-获取区域边界

    一.前言 区域边界也是一些坐标点集合,而且不同的行政区划得到的区域边界点数组集合个数不同,觉得部分都是一个集合,少部分有一些飞地之类的,需要多个闭合区域,所以会得到多个数组集合,绘制的时候都要分别取出 ...

  9. Web端即时通讯实践干货:如何让WebSocket断网重连更快速?

    本文作者网易智慧企业web前端开发工程师马莹莹.为了提升内容质量,收录时有修订和改动. 1.引言 在一个完善的即时通讯IM应用中,WebSocket是极其关键的一环,它为基于Web的即时通讯应用提供了 ...

  10. BotSharp 4.0 Sidecar:迈向更大规模化的AI Agent平台框架

    BotSharp 是一个功能强大的开源项目,由 SciSharp[1] 社区开发和维护,旨在实现.NET技术栈下高度可定制的多智能体解决方案.为开发高效的对话式 AI 系统提供了极大的灵活性.通过其模 ...