.NetCore手动封装日志组件的实现代码

 更新时间:2022年03月04日 15:20:20   作者:沐雪小程序开发者  
这篇文章主要介绍了.NetCore手动封装日志组件的实现代码,封装的目的是便于在项目里更加简单方便使用,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

背景

1、支持写入文本和写入ELK;

2、支持.netcore3.1和 .Net5(也可支持.Net6)

3、基于Serilog 开源的日志组件进行开发;将预定义的配置,逻辑代码都写在组件里,项目开发者无需关注其逻辑。

4、封装的目的是便于在项目里更加简单方便使用;组件专注于组件本身逻辑,项目开发专注于项目逻辑代码---》分工明确,扩展性又好,组件可以给多个项目共同使用;

代码实现

1、VS2019创建类库项目 MuXue.Extensions.Serilog,双击项目,修改一些只,比如TargetFramework变成TargetFrameworks,写入netcoreapp3.1;net5.0;配置ItemGroup Condition,分别分配 .netcore3.1和.net5的包。

代码贴出来:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>netcoreapp3.1;net5.0</TargetFrameworks>
    <Company>MuXue.Duozubao</Company>
    <Authors>lipu</Authors>
    <Version>1.0.6</Version>
    <Description>沐雪多租宝-日志打入到elk系统里。可以兼容3.1和5.0</Description>
    <PackageIcon>icon.png</PackageIcon>
    <PackageIconUrl />
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Serilog.AspNetCore" Version="4.1.0" />
    <PackageReference Include="Serilog.Extensions.Logging" Version="3.1.0" />
    <PackageReference Include="Serilog.Extensions.Logging.File" Version="2.0.0" />
    <PackageReference Include="Serilog.Sinks.Elasticsearch" Version="8.4.1" />
  </ItemGroup>
  <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.8" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.8" />
  <ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0" />
    <None Include="..\icon.png">
      <Pack>True</Pack>
      <PackagePath></PackagePath>
    </None>
</Project>

2、Serilog日志既支持.输入文本,也支持 ELK

到此这篇关于.NetCore手动封装日志组件的文章就介绍到这了,更多相关.NetCore日志组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • log4net配置和使用方法分享

    log4net配置和使用方法分享

    这篇文章主要介绍了log4net配置和使用方法,大家参考使用吧
    2014-01-01
  • Linkbutton控件在项目中的简单应用

    Linkbutton控件在项目中的简单应用

    Button控件可分为button控件、LinkButton控件、ImageButton控件三类,而LinkButton控件则在页面上显示为一个超级链接,下面与大家分享下其具体应用
    2013-05-05
  • CZGL.ProcessMetrics监控.NET应用

    CZGL.ProcessMetrics监控.NET应用

    这篇文章介绍了CZGL.ProcessMetrics监控.NET应用的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • asp.net core 3.0中使用swagger的方法与问题

    asp.net core 3.0中使用swagger的方法与问题

    这篇文章主要给大家介绍了关于asp.net core 3.0中使用swagger的方法与遇到的一些问题,文中通过示例代码介绍的非常详细,对大家的学习或者使用asp.net core 3.0具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • ASP.NET MVC中异常处理&自定义错误页详析

    ASP.NET MVC中异常处理&自定义错误页详析

    当ASP.NET MVC程序出现了异常,怎么处理更加规范?下面这篇文章主要给大家介绍了关于ASP.NET MVC中异常处理&自定义错误页的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2018-04-04
  • net insert into语法错误详解

    net insert into语法错误详解

    本文说下net insert into语法错误的原理和解决方法
    2013-11-11
  • ASP.NET Core 数据保护(Data Protection)上篇

    ASP.NET Core 数据保护(Data Protection)上篇

    这篇文章主要为大家详细介绍了ASP.NET Core 数据保护(Data Protection),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • asp.net core集成JWT的步骤记录

    asp.net core集成JWT的步骤记录

    这篇文章主要给大家介绍了关于asp.net core集成JWT的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用asp.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • ASP.NET Core使用Swagger/OpenAPI规范

    ASP.NET Core使用Swagger/OpenAPI规范

    这篇文章介绍了ASP.NET Core使用Swagger/OpenAPI规范的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 如何在.net6webapi中使用自动依赖注入

    如何在.net6webapi中使用自动依赖注入

    IOC/DI是一种设计模式,用于解耦组件之间的依赖关系,在传统的编程模式中,组件之间的依赖关系是硬编码在代码中的,这样会导致代码的耦合度很高,难以维护和发展,这篇文章主要介绍了如何在.net6webapi中实现自动依赖注入,需要的朋友可以参考下
    2023-06-06

最新评论