首页 > 其他分享 >.Net 6 配置日志

.Net 6 配置日志

时间:2022-11-28 11:36:42浏览次数:41  
标签:Exceptionless 输出 Serilog 配置 Net 日志 Logger

前言

  .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");

 

 

 

 

标签:Exceptionless,输出,Serilog,配置,Net,日志,Logger
From: https://www.cnblogs.com/zousc/p/16931720.html

相关文章

  • mac安装java11及 环境配置
    安装参考:https://blog.csdn.net/Mr_Tony/article/details/119840206 配置环境参考:https://blog.csdn.net/weixin_42216205/article/details/123166877安装:1.下载java1......
  • 思科华为设备STP、RSTP配置命令对比
    Cisco(config)#spanning-treevlan10 //激活特定vlan的STP[Huawei]stpenable//使能交换设备的STP/RSTP功能Cisco(config)#spanning-treevlan10priority0 //配......
  • SQL serve 安装报错,缺少.net3.5组件
    今天安装sqlserver2014,遇到服务器没有安装.net3.5,的报错,上网搜索一番,找到一篇博文(非常详细,拷贝进来以备后用)操作之后略有区别,为表尊重原文地址https://www.cnblogs.co......
  • Linux配置JDK环境
    JDK下载地址:http://jdk.java.net/https://jdk.java.net/archive/https://jdk.java.net/19/wgethttps://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.t......
  • OpenEuler20.03-LTS-SP2配置阿里yum源
    之前一直配置的是华为的yum源,但是华为镜像那边不太稳定,于是打算用阿里的,对于其他版本的openEuler直接改成对应版本就好啦1、在/etc/yum.repos.d/目录下新建openEuler.repo......
  • vivo大数据日志采集Agent设计实践
    作者:vivo互联网存储技术团队-QiuSidi在企业大数据体系建设过程中,数据采集是其中的首要环节。然而,当前行业内的相关开源数据采集组件,并无法满足企业大规模数据采集的需求......
  • Use Kubekey to quickly deploy Kubernetes
    IntroductionStartwritingdeploymentprofilesStartthedeploymentDeploymentcomplete,checkpodstatusIntroductionKubekeyisanopensourceKubernetes......
  • 20220615 Servlet 相关的 Spring Boot 自动配置类
    自动配置类Servlet相关的匹配的自动配置类:org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfigurationorg.springframework.boot.autoc......
  • .NET 生成可跨平台得图片二维码
    下载包nugetSkiaSharp创建帮助类VerificationCodeHelper点击查看代码publicclassVerifyCodeHelper{///<summary>///获取图像数字验证码......
  • 基于.NET三维控件的个性化管道软件开发
    1简介管道广泛用于化工、工厂、建筑、市政等方面,关系到国计民生。虽然管道设计软件种类繁多,有的也非常强大(然而也非常昂贵),但也并不能完全满足个性化需要。如何快速开发......