webapi 集成 log4net 写入 ElasticSearch

news/2025/1/9 15:38:28/文章来源:https://www.cnblogs.com/hlm750908/p/18662274


log4net.config

<log4net><appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"><!--定义文件存放位置--><file value="log/" /><appendToFile value="true" /><rollingStyle value="Date" /><datePattern value="yyyyMMdd'.txt'" /><staticLogFileName value="false" /><param name="MaxSizeRollBackups" value="100" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /></layout></appender><appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"><layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" /></appender><appender name="ElasticSearchAppender" type="log4net.ElasticSearch.ElasticSearchAppender, log4net.ElasticSearch"><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" /></layout><connectionString value="Server=localhost;Index=log_test;Port=9200;rolling=false"/><lossy value="false" /><evaluator type="log4net.Core.LevelEvaluator"><threshold value="ALL" /></evaluator><bufferSize value="1" /></appender><root><level value="INFO" /> <appender-ref ref="ElasticSearchAppender" /><appender-ref ref="ConsoleAppender" /><!--文件形式记录日志--><appender-ref ref="RollingLogFileAppender" /></root>
</log4net>


using Microsoft.AspNetCore.Mvc;namespace log4net直切ElasticSearch.Controllers;[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{private static readonly string[] Summaries = new[]{"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"};private readonly ILogger<WeatherForecastController> _logger;public WeatherForecastController(ILogger<WeatherForecastController> logger){_logger = logger;}[HttpGet(Name = "GetWeatherForecast")]public IEnumerable<WeatherForecast> Get(){  _logger.LogInformation("log4net写Elastic日志");return Enumerable.Range(1, 5).Select(index => new WeatherForecast{Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),TemperatureC = Random.Shared.Next(-20, 55),Summary = Summaries[Random.Shared.Next(Summaries.Length)]}).ToArray();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866592.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用一条命令扫描CORS漏洞

命令 使用前请安装如下程序,kali中请指定httpx位置(例如:/root/Desktop/httpx)。 assetfinder httpx rush assetfinder fitbit.com | httpx -threads 300 -follow-redirects -silent | rush -j200 curl -m5 -s -I -H "Origin: evil.com" {} | [[ $(grep -c "…

如何提升学校行政管理中的沟通效率?3个协作工具推荐

在教育行业中,项目管理通常涉及教学计划的制定、课程安排、学生考核、教师培训等复杂任务。这些任务不仅需要教师和教务人员的紧密协作,还需要行政管理人员的支持与监督。然而,传统的管理方式往往依赖于纸质文件、电子邮件或简单的电子表格,这种方式效率低下且容易出错。通…

Agentforce 2.0究竟有什么魔力,Salesforce要做数字领军者?

2024年12月17日,全球科技巨头Salesforce正式推出其全新平台——Agentforce 2.0。首席执行官马克贝尼奥夫在发布会上宣布,Salesforce计划招聘2000名销售人员,以加速推广这一重大人工智能平台,并预计于2025年2月正式向全球企业提供服务。Agentforce自今年9月首次亮相以来,便…

生产管理新境界:JIT模式引领高效制造革命

JIT模式是一种高效、灵活的生产管理方式,它要求企业在精确预测市场需求的基础上,通过优化生产流程、减少浪费、持续改进等手段降低成本、提高效率并增强竞争力。然而,JIT模式的实施也面临诸多挑战,需要企业采取相应的应对策略来确保成功实施。JIT(Just-In-Time)模式,即准…

【Cobalt Strike】UDRL简单配置

cs4.9的下载、解压和连接server不写了,网上有的。 以下kit的链接: https://pan.baidu.com/s/1mu6rpmHoGQ-lTPmSll14tg?pwd=test 提取码: test 下载好visual studio2022和C++所需要的相关插件网上也都有,简单的就不写了。 将cs启动好把下载的套件解压出来,找到UDRL-VS,找到…

BFS

BFS(广度优先搜索,Breadth-First Search)是一种用于遍历或搜索树或图的算法。它的核心思想是从起始节点开始,逐层向外扩展,先访问离起始节点最近的节点,再访问更远的节点。BFS通常使用队列(Queue)来实现。BFS的核心思想逐层扩展:从起始节点开始,先访问所有与起始节点…

医疗机构的文档协作危机,该如何迎接挑战?

医疗行业协作的核心痛点:文档共享与实时编辑难题 在医疗保健机构中,团队协作至关重要。无论是日常诊疗信息的记录,还是多学科诊疗团队(MDT)的沟通与决策,都需要快速、高效且安全的文档共享与协作方式。然而,传统的纸质记录或本地文件存储方式,存在如下显著问题:信息滞…

聊一聊 C#异步 任务延续的三种底层玩法

一:背景 1. 讲故事 最近聊了不少和异步相关的话题,有点疲倦了,今天再写最后一篇作为近期这类话题的一个封笔吧,下篇继续写我熟悉的 生产故障 系列,突然亲切感油然而生,哈哈,免费给别人看程序故障,是一种积阴德阳善的事情,欲知前世因,今生受者是。欲知来世果,今生做者…

2025年必备开源免费项目管理软件,9款工具全面解析,提升工作效率

高效的项目管理对于团队和企业的成功至关重要。无论是小型创业团队还是大型企业,都需要合适的工具来协调资源、跟踪进度、管理任务。开源免费的项目管理软件因其灵活性、可定制性以及无需高昂成本的特点,成为了众多团队的首选。本文将为您详细介绍9款2025年必备的开源免费项目…

CDS标准视图:银行对账单行项目 I_BankStatementItem

视图名称:银行对账单行项目 I_BankStatementItem 视图类型:基础视图 视图代码:点击查看代码 @AbapCatalog.sqlViewName: IBANKSTATMENTITM @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #CHECK @EndUserT…

智能电网巡检与传感器数据自动分析:3大AI技术助力设备状态实时监测

前言 在智能电网的运行中,设备的实时监测和巡检报告的分析至关重要。定期的巡检报告和传感器数据是确保设备正常运行、预防故障发生的重要依据。然而,传统的人工分析方法不仅耗时,而且易出错。随着人工智能技术的发展,AI系统已能够高效、精准地从电力行业的巡检报告和传感器…

软件系统安全逆向分析-混淆对抗

在一般的软件中,我们逆向分析时候通常都不能直接看到软件的明文源代码,或多或少存在着混淆对抗的操作。下面,我会实践操作一个例子,从无从下手到攻破目标。1. 概述 在一般的软件中,我们逆向分析时候通常都不能直接看到软件的明文源代码,或多或少存在着混淆对抗的操作。下…