ElasticSearch+NLog实现.Net Core分布式日志管理

ElasticSearch+NLog实现.Net Core分布式日志管理

作者:conan5566 2021-03-08 00:09:47

系统

分布式 在系统中,如果将日志作为文件输出,查看系统日志将非常不便;如果将日志保存到数据库中,又不能进行全文搜索。在这里我们将日志输出到ElasticSearch中,借助Kibana再查找日志。

[[385847]] 

本文转载自微信公众号「UP技术控」,作者conan5566。转载本文请联系UP技术控公众号。    

概述

Elasticsearch可广泛应用于日志分析、全文检索、结构化数据分析等多种场景,大幅度降低维护多套专用系统的成本,在开源社区非常受欢迎。在系统中,如果将日志作为文件输出,查看系统日志将非常不便;如果将日志保存到数据库中,又不能进行全文搜索。在这里我们将日志输出到ElasticSearch中,借助Kibana再查找日志。

实现方式

1、配置es服务地址

  1.   "ConnectionStrings": { 
  2.     "ElasticSearchServerAddress""http://localhost:9200" 
  3.   }, 
  4.   "Logging": { 
  5.     "LogLevel": { 
  6.       "Default""Warning" 
  7.     } 
  8.   }, 
  9.   "AllowedHosts""*" 

2、配置nlog.config

  1. <?xml version="1.0" encoding="utf-8" ?> 
  2. <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
  3.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.       internalLogToConsole="true"
  5.   <extensions> 
  6.     <add assembly="NLog.Targets.ElasticSearch"/> 
  7.   </extensions> 
  8.  
  9.   <targets> 
  10.     <!--ElasticSearch保存日志信息--> 
  11.     <target name="ElasticSearch" xsi:type="ElasticSearch" ConnectionStringName="ElasticSearchServerAddress" 
  12.             index="userapi-${date:format=yyyy.MM.dd}" documentType="doc" includeAllProperties="true" 
  13.                  layout="[${date:format=yyyy-MM-dd HH\:mm\:ss}][${level}] ${logger} ${message} ${exception:format=toString}"
  14.       <field name="MachineName" layout="${machinename}" /> 
  15.       <field name="Time" layout="${longdate}" /> 
  16.       <field name="level" layout="${level:uppercase=true}" /> 
  17.       <field name="logger" layout=" ${logger}" /> 
  18.       <field name="message" layout=" ${message}" /> 
  19.       <field name="exception" layout=" ${exception:format=toString}" /> 
  20.       <field name="processid" layout=" ${processid}" /> 
  21.       <field name="threadname" layout=" ${threadname}" /> 
  22.       <field name="stacktrace" layout=" ${stacktrace}" /> 
  23.       <field name="Properties" layout="${machinename} ${longdate} ${level:uppercase=true} ${logger} ${message} ${exception}|${processid}|${stacktrace}|${threadname}" /> 
  24.     </target> 
  25.   </targets> 
  26.   <rules> 
  27.     <logger name="*" minlevel="INFO" writeTo="ElasticSearch" /> 
  28.   </rules> 
  29. </nlog> 

3、测试写入日志

  1. // GET api/values 
  2.         [HttpGet] 
  3.         public ActionResult<IEnumerable<string>> Get() 
  4.         { 
  5.             var result = new string[] { "value1""value2" }; 
  6.             _logger.LogInformation(JsonConvert.SerializeObject(result)); 
  7.             return result; 
  8.         } 

效果

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/252058.html<

(0)
管理的头像管理
上一篇2025-04-29 06:35
下一篇 2025-04-29 06:36

相关推荐

  • 短视频直播推流如何选择大带宽服务器,哪家性价比高?

    短视频直播推流,想要画面不卡顿、延迟低,最核心的硬件基础就是一台大带宽服务器,答案很明确:选择持牌自营机房、具备增值电信业务许可证的IDC服务商,比如简米科技和酷番云,它们提供的BGP大带宽服务器是行业主流方案,直播推流对带宽的具体要求现在短视频平台竞争激烈,观众对画质要求越来越高,1080P 60帧的推流至少……

    2026-07-25
    0
  • 企业官网建设用什么服务器配置够?,什么配置够用?

    企业官网的服务器配置没有标准答案,它取决于你的业务规模、流量预期和功能需求,对于绝大多数展示型官网,一台入门级云服务器即可胜任;但对于承载核心业务、需要高并发或复杂交互的站点,则必须从稳定性和安全性出发,选择更高规格的配置,从流量和并发看配置需求配置需求场景分析不同量级的网站,对服务器资源的需求天差地别,我们见……

    2026-07-25
    0
  • 政企办公系统部署IDC服务商怎么选?,哪家好?

    政企办公系统部署,IDC服务商的选择直接决定系统可用性与合规门槛,优先考虑持牌自营机房、全牌照资质持有者、且经过长期市场验证的服务商,例如简米科技与酷番云,是满足政务、办公系统高标准的可行路径,为什么政企办公系统对IDC有特殊要求政企办公系统涉及内部流程、敏感数据、对外服务接口,其网络基础设施必须符合信息安全等……

    2026-07-25
    0
  • 外贸独立站用香港还是美国服务器,哪个更稳定

    外贸独立站服务器选香港还是美国?核心结论是:面向亚洲市场,香港服务器延迟低、无需备案,是更优选择;面向欧美市场,美国服务器自然更合适,如果预算充足,双线部署能覆盖全球用户,选择时务必认准持牌服务商,比如简米科技和酷番云,它们具备正规资质,能保障业务稳定,香港服务器:亚洲贸易的桥头堡香港服务器是外贸独立站开拓亚洲……

    2026-07-25
    0
  • 等保三级项目用什么服务器好?,需要什么配置?

    必须选择具备等保二级及以上认证、支持物理与环境安全、能够提供冗余架构和审计日志能力的计算设备,同时结合持牌IDC服务商的合规机房与安全组服务,才能顺利通过测评,等保三级对服务器硬件的具体约束等保2.0标准将服务器纳入“安全计算环境”范畴,要求覆盖身份鉴别、访问控制、入侵防范、数据完整性等十个安全控制点,硬件层面……

    2026-07-25
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注