国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

這篇具有很好參考價(jià)值的文章主要介紹了.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

系列文章

  • 認(rèn)識(shí).NET 日志系統(tǒng) https://www.cnblogs.com/ZYPLJ/p/17663487.html

  • .NET 認(rèn)識(shí)日志系統(tǒng)-2 https://www.cnblogs.com/ZYPLJ/p/17667970.html

結(jié)構(gòu)化日志

結(jié)構(gòu)化日志比普通文本更利于日志的分析,結(jié)構(gòu)化日志的格式為json格式。

Serilog

使用步驟

  1. NLog也可以配置結(jié)構(gòu)化日志,不過配置麻煩,推薦用Serilog。

  2. NuGet安裝:Serilog.AspNetCore

  3. Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Debug() //最低級(jí)別設(shè)置為Debug
    .Enrich.FromLogContext()
    .WriteTo.Console(new JsonFormatter())
    .CreateLogger();
    builder.AddSerilog();
    
  4. 要記錄的結(jié)構(gòu)化數(shù)據(jù)通過占位符來輸出:

    logger.LogWarning("新增用戶{@person}",new {Id=3,Name="zack"});
    
  5. 同樣可以輸出到文件、數(shù)據(jù)庫、MongoDB等。

代碼實(shí)現(xiàn)

接文章日志系統(tǒng)文章-1和-2(前2篇文章),代碼一樣,只需要在注入的時(shí)候添加第三步即可。

services.AddLogging(logBuilder =>
{
    Log.Logger = new LoggerConfiguration()
        .MinimumLevel.Debug() //最低級(jí)別設(shè)置為Debug
        .Enrich.FromLogContext()
        .WriteTo.Console(new JsonFormatter())
        .CreateLogger();
    logBuilder.AddSerilog();
});

效果展示

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

模擬用戶

通過第4步占位符實(shí)現(xiàn)結(jié)構(gòu)化數(shù)據(jù)

首先在Test2中創(chuàng)建一個(gè)User類

class User
{
    public string Name { get; set; }
    public string Email { get; set; }
}

然后模擬一下注冊(cè)用戶

public void Test()
{
    User user = new User { Name = "admin", Email = "123@qq.com" };
    _logger.LogDebug("注冊(cè)一個(gè)用戶{@person}",user);
}

效果展示

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

集中化日志

集群化部署環(huán)境中,有N多服務(wù)器,如果每個(gè)服務(wù)器都把日志記錄到本地文件,不便于查詢、分析。需要把日志保存到集中化的日志服務(wù)器中。

  1. 使用NLog、Serilog等可以把日志記錄到數(shù)據(jù)庫、MongoDB等地方,就可以實(shí)現(xiàn)“結(jié)構(gòu)化、集中日志服務(wù)”,不過需要自己編寫日志分析程序。
  2. 公有云廠商一般都提供了日志云服務(wù),都帶有分析功能,都有對(duì)應(yīng)Serilog插件,即使沒有提供,開發(fā)一個(gè)插件也不麻煩。
  3. 如果沒有用云平臺(tái)或者想自己控制日志服務(wù)們可以使用Exceptionless或者ELK等。

Exceptionless

在線版有些功能需要收費(fèi),可以去官網(wǎng)用docker將Exceptionless部署到自己的服務(wù)器中。

官網(wǎng):https://exceptionless.com/

找到Docs頁面,列表最小面的Self Hosting中就有Docker部署的方法。

試用步驟:

Exceptionless https://be.exceptionless.io/

  1. 到Exceptionless官網(wǎng)注冊(cè)、登錄后,新建一個(gè)項(xiàng)目,安裝向?qū)л斎牍久?、?xiàng)目名后,網(wǎng)站會(huì)給出一個(gè)apikey。
  2. 項(xiàng)目Nuget安裝Serilog的Exceptionless插件:Serilog.Sinks.Exceptionless。
  3. 在程序最開始加上一句ExceptionlessClient.Default.Startup("拿到的apikey"),然后Serilog的配置加上一句:.WriteTo.Exceptionless()

創(chuàng)建項(xiàng)目

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

選擇項(xiàng)目

馬賽克部分為apikey,然后根據(jù)提示安裝Nuget

Install-Package Exceptionless.AspNetCore

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

代碼實(shí)現(xiàn)

其實(shí)上面的官網(wǎng)網(wǎng)站講得很清楚了,在程序的開頭加上

ExceptionlessClient.Default.Startup("apikey");

然后接上第二步安裝Serilog.Sinks.Exceptionless,繼續(xù)第三步注入的時(shí)候添加

services.AddLogging(logBuilder =>
{
    Log.Logger = new LoggerConfiguration()
        .MinimumLevel.Debug() //最低級(jí)別設(shè)置為Debug
        .Enrich.FromLogContext()
        .WriteTo.Console(new JsonFormatter())
        .WriteTo.Exceptionless() //添加這行
        .CreateLogger();
    logBuilder.AddSerilog();
});

效果展示

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)

總結(jié)

普通項(xiàng)目用NLog輸出到文本文件即可,根據(jù)需要設(shè)定過濾、分類規(guī)則

集群部署的項(xiàng)目用Serilog+集中式日志服務(wù),需要記錄結(jié)構(gòu)化日志,再進(jìn)行結(jié)構(gòu)化輸出

參考鏈接

  • 【.NET 6教程,.Net Core 2022視頻教程,楊中科主講】 https://www.bilibili.com/video/BV1pK41137He/?p=49&share_source=copy_web&vd_source=fce337a51d11a67781404c67ec0b5084

每日一道面試題

  1. 在.Net中所有可序列化的類都被標(biāo)記為_____?

    答:[serializable]

  2. 在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因?yàn)橛辛薩_____?

    答:GC。文章來源地址http://www.zghlxwxcb.cn/news/detail-687531.html

到了這里,關(guān)于.NET 日志系統(tǒng)-3 結(jié)構(gòu)化日志和集中日志服務(wù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 系統(tǒng)架構(gòu)設(shè)計(jì)專業(yè)技能 ·結(jié)構(gòu)化需求分析 - 數(shù)據(jù)流圖

    系統(tǒng)架構(gòu)設(shè)計(jì)專業(yè)技能 ·結(jié)構(gòu)化需求分析 - 數(shù)據(jù)流圖

    現(xiàn)在的一切都是為將來的夢(mèng)想編織翅膀,讓夢(mèng)想在現(xiàn)實(shí)中展翅高飛。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 點(diǎn)擊進(jìn)入系列文章目錄 實(shí)體 實(shí)體可能是: (1)人物角色: 如客戶、管理員、主管、經(jīng)理、老師、學(xué)生 (2)組織機(jī)構(gòu) :如銀行、供應(yīng)商、募捐機(jī)

    2024年02月09日
    瀏覽(33)
  • 數(shù)據(jù)管理系統(tǒng)-week6-結(jié)構(gòu)化查詢語言(SQL)簡(jiǎn)介

    Structured Query Language(SQL),本節(jié)課內(nèi)容比較輕松,主要介紹了SQL的結(jié)構(gòu)化查詢語言,簡(jiǎn)單介紹的一些SQL的特性,功能,格式化等內(nèi)容 ?由IBM在20世紀(jì)70年代中期開發(fā)和實(shí)施 ?最初稱為SEQUEL(結(jié)構(gòu)化英語查詢語言) ?首次實(shí)施:IBM的SYSTEM R(DB/2,UDB)、Oracle SQL ?1986年的第一個(gè)

    2024年01月16日
    瀏覽(31)
  • 基于自然語言處理的結(jié)構(gòu)化數(shù)據(jù)庫問答機(jī)器人系統(tǒng)

    基于自然語言處理的結(jié)構(gòu)化數(shù)據(jù)庫問答機(jī)器人系統(tǒng)

    ? 完整代碼下載:https://download.csdn.net/download/andrew_extra/88614388 ????????知識(shí)庫,就是人們總結(jié)出的一些歷史知識(shí)的集合,存儲(chǔ)、索引以后,可以被方便的檢索出來供后人查詢/學(xué)習(xí)。QnA Maker是用于建立知識(shí)庫的工具,使用 QnA Maker,可以根據(jù) FAQ(常見問題解答)文檔或者 U

    2024年02月04日
    瀏覽(25)
  • 結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)

    結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)

    結(jié)構(gòu)化的數(shù)據(jù)一般是指可以使用關(guān)系型數(shù)據(jù)庫表示和存儲(chǔ),可以用二維表來邏輯表達(dá)實(shí)現(xiàn)的數(shù)據(jù)。例如:需要多少個(gè)屬性,每個(gè)屬性什么類型,每個(gè)屬性的取值范圍等等,類似下圖所示, 提前定義好了一個(gè)二維矩陣的元數(shù)據(jù) ,包含有列名稱、列的類型、列的約束等: ? 可見

    2024年02月09日
    瀏覽(93)
  • 【numpy基礎(chǔ)】--結(jié)構(gòu)化

    目前為止,介紹的 numpy 數(shù)組基本都是關(guān)于數(shù)值的,其實(shí), numpy 本身就是一個(gè)用于數(shù)值計(jì)算的基礎(chǔ)庫。 不過,除了數(shù)值計(jì)算之外, numpy 也能夠支持 結(jié)構(gòu)化數(shù)組 。 numpy 的數(shù)組為了提高計(jì)算性能,要求數(shù)組的數(shù)據(jù)類型要一致。 但是現(xiàn)實(shí)情況下,我們經(jīng)常遇到不是純數(shù)值的數(shù)組

    2024年02月12日
    瀏覽(28)
  • elasticsearch結(jié)構(gòu)化查詢

    elasticsearch結(jié)構(gòu)化查詢

    在上一篇中我們介紹了DSL相關(guān)的知識(shí),接下來我們將會(huì)學(xué)習(xí)elasticsearch的結(jié)構(gòu)化查詢,同時(shí)也實(shí)踐一下上一篇的DSL的查詢用法 從《Elasticsearch權(quán)威指南》上摘取部分解釋如下: 從上面的定義我們可以看出來結(jié)構(gòu)化查詢最重要的就是是否匹配么人并不是很關(guān)心相關(guān)性和分值計(jì)算。

    2024年02月01日
    瀏覽(30)
  • 第五章 結(jié)構(gòu)化設(shè)計(jì)

    第五章 結(jié)構(gòu)化設(shè)計(jì)

    一種軟件開發(fā)活動(dòng),定義實(shí)現(xiàn)需求規(guī)約所需的軟件結(jié)構(gòu)。 結(jié)構(gòu)化設(shè)計(jì)分為: (1)總體設(shè)計(jì):確定系統(tǒng)的整體模塊結(jié)構(gòu),即系統(tǒng)實(shí)現(xiàn)所需要的軟件模塊以及這些模塊之間的調(diào)用關(guān)系。 (2)詳細(xì)設(shè)計(jì):詳細(xì)描述模塊。 體系結(jié)構(gòu)設(shè)計(jì)(MSD) 接口設(shè)計(jì) 數(shù)據(jù)設(shè)計(jì) 實(shí)現(xiàn)軟件設(shè)計(jì)的目標(biāo)對(duì)結(jié)

    2024年02月08日
    瀏覽(28)
  • SQL:結(jié)構(gòu)化查詢語言

    SQL:結(jié)構(gòu)化查詢語言

    創(chuàng)建一張表并插入數(shù)據(jù): 以下常用函數(shù)以MySQL為例,其它數(shù)據(jù)庫類似

    2024年02月06日
    瀏覽(30)
  • elasticsearch結(jié)構(gòu)化查詢(一)

    elasticsearch結(jié)構(gòu)化查詢(一)

    在上一篇中我們介紹了DSL相關(guān)的知識(shí),接下來我們將會(huì)學(xué)習(xí)elasticsearch的結(jié)構(gòu)化查詢,同時(shí)也實(shí)踐一下上一篇的DSL的查詢用法 從《Elasticsearch權(quán)威指南》上摘取部分解釋如下: 從上面的定義我們可以看出來結(jié)構(gòu)化查詢最重要的就是是否匹配么人并不是很關(guān)心相關(guān)性和分值計(jì)算。

    2024年02月05日
    瀏覽(28)
  • 結(jié)構(gòu)化流的介紹

    結(jié)構(gòu)化流的介紹

    目錄 有界數(shù)據(jù)和無界數(shù)據(jù) 有界數(shù)據(jù) ?無界數(shù)據(jù) ?結(jié)構(gòu)化流 基本介紹 入門案例 結(jié)構(gòu)化流的編程模型 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)源(Source) File Source Kafka Source(Spark 和 Kafka 整合) 整合Kafka準(zhǔn)備工作 從kafka中讀取數(shù)據(jù) 流式處理 批處理 ?數(shù)據(jù)寫入Kafka中 流式處理 批處理 有界數(shù)據(jù) 數(shù)據(jù)有固定的開

    2024年01月15日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包