Asp.Net Web Api日志记录

时间:2019-03-25 17:47:35

标签: asp.net-web-api serilog

我想在我的asp.net网络api(不是 Asp.Net Core)上设置日志记录,并希望确保我遵循最佳实践(尽可能地接近)。我在我的服务中使用SeriLog,也希望将此产品用于我的Web Api。我不确定在Web API中设置日志记录的最佳方法,并且我希望对其进行设置,以便根据上下文(我的api服务于多个应用程序),我希望能够登录到单独的Microsoft Sql Server 。有人可以提供一些指导,说明如何开始执行此任务,可能出现的陷阱或我尚未找到如何在Asp.Net中进行设置的文章的链接吗?

2 个答案:

答案 0 :(得分:0)

有一个来自Serilog(MSSQL-Server)的图书馆

答案 1 :(得分:0)

您可以创建一个集中式记录器项目,并将serilog程序包仅添加到该项目,并在需要使用serilog(您的服务)的地方引用该项目。

并使用Serilog.Settings.AppSettings软件包配置serilog,以便每个服务项目都可以使用{{1}从服务<appSettings>的{​​{1}}部分中读取其自己的配置(例如:单独的Microsoft SQL Server) } web.config

上的扩展方法

采样记录器类

ReadFrom.AppSettings()

示例LoggerConfiguration配置

public static class Logger
{
    private static readonly ILogger _dbLogger;

    static Logger()
    {
        _dbLogger = new LoggerConfiguration()
            .ReadFrom.AppSettings()
            .CreateLogger();
    }

    public static void Log(string error)
    {
        _dbLogger.Error(error);
    }
}