首页 > 编程语言 >serilog-asp.net

serilog-asp.net

时间:2022-08-28 19:24:53浏览次数:69  
标签:asp Log serilog net UseSerilog Logger logger

 这是 serilog-asp.net 的demo:   https://github.com/serilog/serilog-aspnetcore/blob/dev/samples/Sample/Program.cs

开始是这一句话

// The initial "bootstrap" logger is able to log errors during start-up. It's completely replaced by the
// logger configured in `UseSerilog()` below, once configuration and dependency-injection have both been
// set up successfully.
            Log.Logger = new LoggerConfiguration()
                .WriteTo.Console()
                .CreateBootstrapLogger();

这个 UseSerilog()  里面有个参数  bool preserveStaticLogger =false, 如果不传(默认false), 最终将会被替换。

 

而如果替换,上面的代码,就要写成 CreateBootstrapLogger(), 而不是 CreateLogger()

这关系到  UseSerilog() 这里面这句话的转换结果。

var reloadable = Log.Logger as ReloadableLogger;

UseSerilog() 的后面  依赖注入了  ILoggerFactory,实现的是SerilogLoggerFactory

SerilogLoggerFactory 中 new SerilogLoggerProvider(), 后者又new SerilogLogger(this, _logger, name),这样定义  SerilogLogger : Microsoft.Extensions.Logging.ILogger

在这个方法中,_logger 参数是null, 传了一路,最后赋给默认值 Serilog.Log.Logger

 这会让 ILogger 最终使用到Serilog.Log.Logger。

 

标签:asp,Log,serilog,net,UseSerilog,Logger,logger
From: https://www.cnblogs.com/qgbo/p/16633431.html

相关文章

  • ECCV2022_Slimmable:(ARM-Net)ARM Any-Time Super-Resolution Method
    Institute:MACLab,DepartmentofArtificialIntelligence,XiamenUniversityAuthor:BohongChen,MingbaoLin,KekaiSheng,MengdanZhang,PeixianChen,KeLi,L......
  • 网络network
    网络network基础network模型OSI七层模型,一层一层封装数据帧(添加报文头),传过去之后再一层一层解封装(解封装掉报文头)应用层:应用软件层面业务端口,例如http/https,ftp,sftp,smtp......
  • k8s(kubernetes)基于(NFS+PV+PVC)部署jenkins
    #部署流程:(系统:centos7.9)一、设置存储目录1、安装NFS服务端2、挂载NFS并设置存储文件夹二、创建PV&PVC1、准备PV&PVC部署文件2、创建PV&PVC......
  • D_06 DotnetCore.CAP在项目中的应用
    描述在项目中,DotnetCore.CAP可以作为分布式事务、消息队列的解决方案,详见官方文档:https://cap.dotnetcore.xyz/,此处不过多的讲解。本文主要讲解官方文档没有说明,但是在实......
  • docker中asp.netcore启用https
    1、dotnetdev-certshttps-ep$env:USERPROFILE\.aspnet\https\aspnetapp.pfx-p1232、dotnetdev-certshttps--trust3、dockerrun--rm-it-p80:80-p44394:443......
  • 图解AspNetCore和Furion(0):概述和目录
    ASP.NETCore是非常优秀的服务端框架,尽管国内应用的广泛性远不如Java,但在很多测评中,性能上已经可以碾压Java,更不论Node.js、Django、Laravel等。 Furion是建立在ASP.NET......
  • 在 ML.NET 中使用Hugginface Transformer
    本文主要来自https://rubikscode.net/2021/10/25/using-huggingface-transformers-with-ml-net/,根据自己的理解做了一些修改。ML.NET集成的ONNX运行时,Hugginface提供了......
  • 图解AspNetCore和Furion(1):应用启动
    一、和AspNetCore5相比,从6开始,将Program和Startup类合并,直接在入口类中启动服务和中间件。同时,项目可以启动miniApi,直接在Program中设置路由和控制器。实际项目中,还是推荐......
  • .Net 7中新增的限速API
    .NET7 内置了速率限制(RateLimiting)功能,速率限制指的是限制可访问资源的请求数。例如数据库每分钟可以安全处理1000个请求,再多不确定会不会崩。这时就可以在应用程序......
  • NetworkPolicy
    NetworkPolicy是Kubernetes设计用来限制Pod访问的对象,通过设置NetworkPolicy策略,可以允许Pod被哪些地址访问(即入规则Ingress)、或Pod访问哪些地址(即出规则Egress)。这相当于......