ASP.Net WebAPI和使用Serilog进行日志记录

时间:2019-03-22 20:17:03

标签: asp.net-web-api serilog

我想在WebApi项目中使用Serilog来记录用户操作和异常。所有日志将在ElasticSearch中推送。

我还想从一些自定义库依赖项中登录。

为了在我的依赖项和webApi项目中没有serilog的不同引用,有人告诉我更好的方法是使用 microsoft.extensions.logging.abstractions 并将记录器注入依赖性。

据我了解,问题在于,如果我以这种方式进行操作,我将无法再使用Serilog的全部功能,而我将不得不限制抽象所提供的功能……例如,我还想要具有一些自定义扩展名,例如:

  logger.LogBusiness({msg}
  logger.LogPerformance({msg})
  logger.LogTechnical({msg})

有没有一种方法可以实现我想要的:

  1. 在我的WebApi中使用Microsoft.extension.Logging.Abstractions
  2. 可以使用serilog将我的日志推送到elasticksearch
  3. 在我的依赖项中注入一个Ilogger抽象,这样它们就不会 取决于特定版本的serilog
  4. 在ilogger上使用一些自定义扩展名,以便将我的日志推送到不同的ElasticSearch索引中(一个用于业务事件,一个用于性能事件..)。

0 个答案:

没有答案