国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - Asp.Net MVC中配置Serilog的方法

Asp.Net MVC中配置Serilog的方法

2020-04-06 12:28Eric Sun ASP.NET教程

Serilog是一款比較優秀的logging framework,Serilog只支持.NET 4.5以上的版本。下面這篇文章將會通過圖文及示例代碼的形式給大家介紹Asp.Net MVC中配置Serilog的方法,有需要的朋友們可以參考借鑒,下面來跟著小編一起學習學習吧。

一、Serilog介紹

Serilog 是一種非常簡便記錄log 的處理方式,使用Serilog可以生成本地的text文件, 也可以通過 Seq 來在Web界面中查看具體的log內容。

二、配置方法

接下來就簡單的介紹一下在Asp.Net MVC中如何配置是Serilog 生效:

 1):下載并且安裝Seq,具體的下載URL 為 【http://getseq.net/Download】,安裝到默認的路徑之后,實際上時候啟動了一個Win Service,并且監聽的端口號默認為 5341.

安裝的最后一步截圖如下:

Asp.Net MVC中配置Serilog的方法

然后我們到Service列表中可以找到對應的Service, 如下圖所示:

Asp.Net MVC中配置Serilog的方法

2):創建一個Asp.Net MVC 5的一個工程, 然后通過 Nuget 下載并且安裝 對應的 package,如下圖所示

Asp.Net MVC中配置Serilog的方法  

3):在 App_Start 文件夾下創建一個 class 叫做 SerilogConfig.cs , 代碼如下所示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using Serilog;
using SerilogWeb.Classic.Enrichers;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Web;
using System.Web.Hosting;
 
namespace TestSerilog.App_Start
{
  public class SerilogConfig
  {
    public static ILogger CreateLogger()
    {
      var logpath = HostingEnvironment.MapPath("~");
      var config = new LoggerConfiguration()
        .Enrich.WithMachineName()
        .Enrich.WithProperty("ApplicationName", AssemblyTitle)
        .Enrich.With<HttpRequestClientHostIPEnricher>()
        .Enrich.With<HttpRequestRawUrlEnricher>()
        .Enrich.With<HttpRequestIdEnricher>()
        .Enrich.With<UserNameEnricher>()
        //.Enrich.WithProperty("RuntimeVersion", Environment.Version)
        // this ensures that calls to LogContext.PushProperty will cause the logger to be enriched
        .Enrich.FromLogContext()
        .MinimumLevel.Verbose()
        .WriteTo.Seq(ConfigurationManager.AppSettings["SeqServer"], apiKey: ConfigurationManager.AppSettings["SeqApiKey"])
        .WriteTo.RollingFile(Path.Combine(logpath, "Logs\\EricSunTestLog-{Date}.log"), retainedFileCountLimit: null, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {SourceContext} - ({MachineName}|{HttpRequestId}|{UserName}) {Message}{NewLine}{Exception}");
      return config.CreateLogger();
    }
 
    public static string AssemblyTitle
    {
      get
      {
        var attributes = typeof(SerilogConfig).Assembly.GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
        if (attributes.Length > 0)
        {
          var titleAttribute = (AssemblyTitleAttribute)attributes[0];
          if (titleAttribute.Title.Length > 0)
            return titleAttribute.Title;
        }
        return Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().CodeBase);
      }
    }
  }
}

4):在 Web.config 中添加補全所用到的 appSettings

?
1
2
3
4
<appSettings>
 <add key="SeqServer" value="http://localhost:5341/" />
 <add key="SeqApiKey" value="" />
</appSettings>

5):在 Startup.cs 中添加如下代碼完成注冊

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using Microsoft.Owin;
using Owin;
using Serilog;
using TestSerilog.App_Start;
 
[assembly: OwinStartupAttribute(typeof(TestSerilog.Startup))]
namespace TestSerilog
{
  public partial class Startup
  {
    public void Configuration(IAppBuilder app)
    {
      ConfigureAuth(app);
      Log.Logger = SerilogConfig.CreateLogger();
    }
  }
}

6): 在 HomeController 中的 Index Action 中添加如下代碼,測試對應的DebugInformationWarning Error 方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using Serilog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
 
namespace TestSerilog.Controllers
{
  public class HomeController : Controller
  {
    private ILogger _logger = Log.Logger;
 
    public ActionResult Index()
    {
      _logger.Debug("This is index -- debug.");
      _logger.Information("This is index -- information.");
      _logger.Warning("This is index -- warning.");
      _logger.Error("This is index -- error.");
      return View();
    }
 
    public ActionResult About()
    {
      ViewBag.Message = "Your application description page.";
 
      return View();
    }
 
    public ActionResult Contact()
    {
      ViewBag.Message = "Your contact page.";
 
      return View();
    }
  }
}

7):直接 VS 2015 運行之后, 再去 http://localhost:5341/#/events 中觀察對應的 log 記錄, 如下截圖

Asp.Net MVC中配置Serilog的方法

總結

這樣簡單的配置 Serilog 就完成了, 同時我們也可以到 C:\ProgramData\Seq\Logs 目錄中找到 Log 的文本文件。以上就是本文的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

更多內容請看如下鏈接:

http://serilog.net/

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 少妇精品久久久久久久久久 | 亚洲精品成人av | 国产99在线| 久久久久久久久久久动漫 | 日韩第一区 | 日韩欧美视频免费观看 | 毛片网站大全 | 欧美a在线 | 五月婷婷激情 | 亚洲在线电影 | 欧美日韩一区二区在线观看 | 欧美一区二区三区精品 | 毛片在线视频 | 久久精品无码一区二区三区 | 欧美在线一区二区三区 | 成人国产精品久久 | 欧美在线观看一区 | 狠狠干2024 | 国产一级片儿 | 国产日韩欧美综合 | 亚洲一区二区三区免费观看 | 亚洲欧美一区二区三区情侣bbw | 精品少妇一区二区三区在线播放 | 成人午夜毛片 | 国产成人精品一区二区三区网站观看 | 91视频国产网站 | 欧美精品在线播放 | 中文字幕亚洲视频 | 中文字幕在线免费观看 | 中文字幕在线观看一区二区 | 色免费视频 | 国产精品美女久久久久久免费 | 国产一区中文字幕 | 国产精品成人在线 | 成人免费在线视频 | 国产免费黄色 | 一区在线视频观看 | 在线免费视频一区二区 | 亚洲久久久久久 | 91精品国产91久久久久久吃药 | 99精品一区二区三区 |