最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# 使用Serilog日志框架的方法

 更新時間:2023年11月25日 09:24:56   作者:廣闊之海  
Serilog是一款配置方便,使用靈活的日志框架,這篇文章主要介紹了C# 使用Serilog日志框架,需要的朋友可以參考下

Serilog是一款配置方便,使用靈活的日志框架,使用方法如下:
1、日志輸出到控制臺,需要使用Nuget安裝Serilog和Serilog.Sinks.Console兩個包

// 初始化日志的共享實例
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.FromLogContext()
                .WriteTo.Console()
                .CreateLogger();
            // 寫入日志
            Log.Information("Info");

2、日志輸出到文件,需要安裝Serilog.Sinks.File包

// 初始化日志的共享實例
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.FromLogContext()
                .WriteTo.File("logs/app.log", 
                    rollingInterval: RollingInterval.Day, // 每天一個日志文件
                    shared: true    // 允許其他進(jìn)程共享日志文件
                ).CreateLogger();
            // 寫入日志
            Log.Information("Info");

3、可以通過配置,讓不同日志級別輸出到不同的日志文件

// 初始化日志的共享實例
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.FromLogContext()
                // 調(diào)試日志
                .WriteTo.Logger(x => x
                    .Filter.ByIncludingOnly(e => e.Level == Serilog.Events.LogEventLevel.Debug)
                    .WriteTo.File("logs/debug.log", rollingInterval: RollingInterval.Day, shared: true)
                // 錯誤日志
                ).WriteTo.Logger(x => x
                    .Filter.ByIncludingOnly(e => e.Level == Serilog.Events.LogEventLevel.Error)
                    .WriteTo.File("logs/error.log", rollingInterval: RollingInterval.Day, shared: true)
                // 應(yīng)用日志
                ).WriteTo.Logger(x => x
                    .Filter.ByIncludingOnly(e => e.Level != Serilog.Events.LogEventLevel.Debug &&
                        e.Level != Serilog.Events.LogEventLevel.Error)
                    .WriteTo.File("logs/app.log", rollingInterval: RollingInterval.Day, shared: true)
                ).CreateLogger();
            // 寫入日志到 app.log
            Log.Information("Info");
            // 寫入日志到 debug.log
            Log.Debug("Debug");
            // 寫入日志到 error.log
            Log.Error("Error");

4、寫入日志到SqlServer

// 寫入數(shù)據(jù)庫的配置
            var sinkOpts = new MSSqlServerSinkOptions();
            sinkOpts.TableName = "logs";            // 日志表名
            sinkOpts.AutoCreateSqlTable = true;     // 自動創(chuàng)建表
            // 列配置
            var columnOpts = new ColumnOptions();
            columnOpts.Store.Remove(StandardColumn.Exception);  // 去掉異常列
            columnOpts.Store.Remove(StandardColumn.Properties); // 去掉屬性列
            columnOpts.Exception.DataLength = 2048;             // 指定列的長度
            columnOpts.TimeStamp.NonClusteredIndex = true;      // 去掉時間戳的聚集索引
            // 初始化日志的共享實例
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.FromLogContext()
                .WriteTo.MSSqlServer(
                        connectionString: ConfigurationManager.ConnectionStrings["Default"].ConnectionString,
                        sinkOptions: sinkOpts,
                        columnOptions: columnOpts
                 ).CreateLogger();
            // 寫入日志
            Log.Information("Info");

執(zhí)行代碼后,發(fā)現(xiàn)日志表并沒有添加到數(shù)據(jù)庫,也沒有任何異常信息,我們可以添加以下代碼調(diào)試Serilog

Serilog.Debugging.SelfLog.Enable(msg =>
            {
                Debug.Print(msg);
                Debugger.Break();
            });

獲取到如下的錯誤信息:

2022-11-26T09:34:53.6107406Z Unable to write 1 log events to the database due to following error: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 證書鏈?zhǔn)怯刹皇苄湃蔚念C發(fā)機(jī)構(gòu)頒發(fā)的。)

需要在連接字符串添加信任服務(wù)器證書的配置:TrustServerCertificate=True;

就能在SqlServer中創(chuàng)建日志表并寫入日志。

到此這篇關(guān)于C# 使用Serilog日志框架的文章就介紹到這了,更多相關(guān)C# Serilog日志框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#?LiteDB基本使用示例代碼

    C#?LiteDB基本使用示例代碼

    LiteDB是一種文檔型單文件數(shù)據(jù)庫,基于Key-Value方式存取數(shù)據(jù),LiteDB?的靈感來自?MongoDB?數(shù)據(jù)庫,所以它的?API?和?MongoDB?的?.NET?API?非常相似,這篇文章主要介紹了C#?LiteDB基本使用,需要的朋友可以參考下
    2024-03-03
  • 利用C#版OpenCV實現(xiàn)圓心求取實例代碼

    利用C#版OpenCV實現(xiàn)圓心求取實例代碼

    這篇文章主要給大家介紹了關(guān)于如何利用C#版OpenCV實現(xiàn)圓心求取的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • C#代碼實現(xiàn)添加或刪除PowerPoint文檔中的節(jié)

    C#代碼實現(xiàn)添加或刪除PowerPoint文檔中的節(jié)

    這篇文章主要為大家詳細(xì)介紹了C#如何使用 Spire.Presentation for .NET 通過編程方式在 PowerPoint 文檔中添加或刪除節(jié),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-03-03
  • 基于Unity3D實現(xiàn)仿真時鐘詳解

    基于Unity3D實現(xiàn)仿真時鐘詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Unity3D模擬實現(xiàn)一個簡單是時鐘效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • C# Replace替換的具體使用

    C# Replace替換的具體使用

    本文主要介紹了C# Replace替換的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • c# 服務(wù)器上傳木馬監(jiān)控代碼(包含可疑文件)

    c# 服務(wù)器上傳木馬監(jiān)控代碼(包含可疑文件)

    c# 監(jiān)控服務(wù)器上傳木馬(包含可疑文件)
    2010-05-05
  • C#實現(xiàn)程序單例日志輸出功能

    C#實現(xiàn)程序單例日志輸出功能

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)程序單例日志輸出功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C#按路徑流式遍歷XML節(jié)點的實用方法

    C#按路徑流式遍歷XML節(jié)點的實用方法

    在處理大型 XML 文檔時,傳統(tǒng)的 XDocument.Load 會一次性將整個文檔加載到內(nèi)存中,對于大文件非常消耗資源,本文將分享一個按路徑流式遍歷 XML 節(jié)點的實用方法,支持深層嵌套路徑,并保持流式解析,需要的朋友可以參考下
    2025-10-10
  • C#使用ML.Net完成人工智能預(yù)測

    C#使用ML.Net完成人工智能預(yù)測

    這篇文章主要介紹了C#使用ML.Net完成人工智能預(yù)測的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Unity實現(xiàn)鼠標(biāo)或者手指點擊模型播放動畫

    Unity實現(xiàn)鼠標(biāo)或者手指點擊模型播放動畫

    這篇文章主要為大家詳細(xì)介紹了Unity實現(xiàn)鼠標(biāo)或者手指點擊模型播放動畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01

最新評論

潮州市| 盐城市| 濮阳县| 大英县| 泸溪县| 边坝县| 辽中县| 蓬溪县| 徐水县| 汾西县| 交城县| 遵义县| 乌拉特后旗| 桂阳县| 镶黄旗| 太湖县| 绥宁县| 措勤县| 华亭县| 洮南市| 天柱县| 阳原县| 普格县| 申扎县| 云阳县| 重庆市| 二连浩特市| 乐昌市| 阳谷县| 漳平市| 齐齐哈尔市| 永丰县| 长葛市| 桐庐县| 昭苏县| 德庆县| 张家港市| 长宁区| 玛曲县| 阳西县| 佳木斯市|