在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → ASP.NET Core应用中使用Log4net进行日志记录的配置方法

ASP.NET Core应用中使用Log4net进行日志记录的配置方法

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.09M
  • 下载次数:0
  • 浏览次数:4
  • 发布时间:2024-04-17
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

在ASP.NET Core应用程序中,Log4net可以作为Microsoft Extensions Logging的处理程序来配置,以实现高效的日志管理。感谢@anuraj提出的原始博客文章。

使用示例

首先,将包安装或引用到您的ASP.NET Core应用程序中。
在Startup类的Configure方法中添加AddLog4Net()调用。
using Microsoft.Extensions.Logging;
public class Startup
{
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddLog4Net(); // 添加这一行
app.UseMvc();
}
}
对于dotnet 6.0及更高版本,在Program.cs文件中添加builder.Logging.AddLog4Net();调用。
添加一个log4net.config文件,并填写内容。
您可以在配置文档上找到更多配置示例。

使用BeginScope

从2.2.7版本开始,此nuget允许使用Log4NetLogger的BeginScope方法。
var dictionary = new Dictionary<string, string="">() { { “test”, “SCOPED_VALUE” } };
using (var scope = logger.BeginScope(dictionary))
{
logger.LogCritical(message);
}
BeginScope方法允许任何对象,但仅有某些类型会以特殊方式处理。
当您使用任何允许的IEnumerable<keyvaluepair<,>>类型时,该集合将被处理,并且此集合中的每个项应该使用Key作为属性名称,Value作为值来替换定义的Pattern Layout中的占位符。
此外,如果参数不是给定的IEnumerable<keyvaluepair<,>>之一,该值将在默认scope属性上记录。
当您使用两个连续的BeginScope调用时…
using (var scope = logger.BeginScope(“SCOPED_VALUE”))
{
using (var scope = logger.BeginScope(Guid.NewGuid()))
{
logger.LogCritical(message); // SCOPED_VALUE和Guid值(两者)将替换%property{scope}占位符
}
}
有关LogicalThreadContext工作方式的更多信息,请访问官方文档。
.NET Core 2.0 - 记录调试级别消息
要能够在任何配置的log4net appender中注册Debug级别消息,您应该在构建IWebHost实例时更改ASP.NET Core 2配置。

记录低于信息级别的消息

请注意,当尝试允许开发构建的消息级别低于信息级别时,您必须在appsettings.Development.json中进行相应设置。


【实例截图】
【核心代码】
文件清单
└── Microsoft.Extensions.Logging.Log4Net.AspNetCore-c3b35ae1a6f70856fbd722e594ac02676c819b03
    ├── coverage.cmd
    ├── deploy
    │   ├── main.yml
    │   └── sdk.yaml
    ├── doc
    │   ├── CONFIG.md
    │   └── ModifyingLoggingBehaviour.md
    ├── LICENSE
    ├── README.md
    ├── samples
    │   ├── Net5.0
    │   │   └── WebApi
    │   │       ├── appsettings.Development.json
    │   │       ├── appsettings.json
    │   │       ├── Controllers
    │   │       │   └── WeatherForecastController.cs
    │   │       ├── log4net.config
    │   │       ├── Program.cs
    │   │       ├── Properties
    │   │       │   └── launchSettings.json
    │   │       ├── Sample.WebApi.Net50.csproj
    │   │       ├── Startup.cs
    │   │       └── WeatherForecast.cs
    │   ├── Net6.0
    │   │   └── WebApi
    │   │       ├── appsettings.Development.json
    │   │       ├── appsettings.json
    │   │       ├── Controllers
    │   │       │   └── WeatherForecastController.cs
    │   │       ├── log4net.config
    │   │       ├── Program.cs
    │   │       ├── Properties
    │   │       │   └── launchSettings.json
    │   │       ├── Sample.WebApi.Net60.csproj
    │   │       └── WeatherForecast.cs
    │   ├── NetCoreApp2.0
    │   │   └── WebApi
    │   │       ├── appsettings.Development.json
    │   │       ├── appsettings.json
    │   │       ├── Controllers
    │   │       │   └── WeatherForecastController.cs
    │   │       ├── log4net.config
    │   │       ├── Program.cs
    │   │       ├── Properties
    │   │       │   └── launchSettings.json
    │   │       ├── Sample.WebApi.NetCore20.csproj
    │   │       ├── Startup.cs
    │   │       └── WeatherForecast.cs
    │   ├── NetCoreApp2.2
    │   │   └── WebApi
    │   │       ├── appsettings.Development.json
    │   │       ├── appsettings.json
    │   │       ├── Controllers
    │   │       │   └── WeatherForecastController.cs
    │   │       ├── log4net.config
    │   │       ├── Program.cs
    │   │       ├── Properties
    │   │       │   └── launchSettings.json
    │   │       ├── Sample.WebApi.NetCore22.csproj
    │   │       ├── Startup.cs
    │   │       └── WeatherForecast.cs
    │   └── NetCoreApp3.1
    │       └── WebApi
    │           ├── appsettings.Development.json
    │           ├── appsettings.json
    │           ├── Controllers
    │           │   └── WeatherForecastController.cs
    │           ├── log4net.config
    │           ├── Program.cs
    │           ├── Properties
    │           │   └── launchSettings.json
    │           ├── Sample.WebApi.NetCore31.csproj
    │           ├── Startup.cs
    │           └── WeatherForecast.cs
    ├── src
    │   ├── Microsoft.Extensions.Logging.Log4Net.AspNetCore
    │   │   ├── Entities
    │   │   │   ├── MessageCandidate.cs
    │   │   │   └── NodeInfo.cs
    │   │   ├── Extensions
    │   │   │   ├── DocumentExtensions.cs
    │   │   │   ├── Log4NetProviderExtensions.cs
    │   │   │   └── LogExtensions.cs
    │   │   ├── ILog4NetLoggingEventFactory.cs
    │   │   ├── ILog4NetLogLevelTranslator.cs
    │   │   ├── Log4NetExtensions.cs
    │   │   ├── Log4NetLogger.cs
    │   │   ├── Log4NetLoggingEventFactory.cs
    │   │   ├── Log4NetLogLevelTranslator.cs
    │   │   ├── Log4NetProvider.cs
    │   │   ├── Log4NetProviderOptions.cs
    │   │   ├── Microsoft.Extensions.Logging.Log4Net.AspNetCore.csproj
    │   │   └── Scope
    │   │       ├── NullScope.cs
    │   │       └── NullScopeProvider.cs
    │   └── Microsoft.Extensions.Logging.Log4net.sln
    └── tests
        └── Unit.Tests
            ├── Fixtures
            │   ├── AppenderFixture.cs
            │   ├── IsEnabledClassData.cs
            │   └── TestLogMethodData.cs
            ├── log4net.config
            ├── Log4NetExtensionsTests.cs
            ├── Log4NetLoggerTests.cs
            ├── Log4NetProviderOptionsTests.cs
            ├── Log4NetProviderTests.cs
            ├── Mocks
            │   └── LoggingEventFactoryMock.cs
            ├── Models
            │   └── Log4NetFileOption.cs
            ├── Resources
            │   ├── log4net.All.config
            │   ├── log4net.DebugOrHigher.config
            │   ├── log4net.FatalOrHigher.config
            │   ├── log4net.NoAppenders.config
            │   ├── log4net.TestAppenderTrace.config
            │   ├── log4net.TestAppenderWarn.config
            │   └── log4net.TraceOrHigher.config
            └── Unit.Tests.csproj

35 directories, 86 files

标签:

实例下载地址

ASP.NET Core应用中使用Log4net进行日志记录的配置方法

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警