.net 6中使用log4net写文本日志
.net 6中使用log4net必须添加log4net、Microsoft.Extensions.Logging.Log4Net.AspNetCore两个引用。
使用之前必须在项目中添加log4net的配置文件Log4Net.Config,代码如下:
<?xml version="1.0" encoding="utf-8"?> <log4net> <!-- Define some output appenders --> <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender"> <file value="log4\log.txt" /> <!--追加日志内容--> <appendToFile value="true" /> <!--防止多线程时不能写Log,官方说线程非安全--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!--可以为:Once|Size|Date|Composite--> <!--Composite为Size和Date的组合--> <rollingStyle value="Composite" /> <!--当备份文件时,为文件名加的后缀--> <datePattern value="yyyyMMdd.TXT" /> <!--日志最大个数,都是最新的--> <!--rollingStyle节点为Size时,只能有value个日志--> <!--rollingStyle节点为Composite时,每天有value个日志--> <maxSizeRollBackups value="20" /> <!--可用的单位:KB|MB|GB--> <maximumFileSize value="3MB" /> <!--置为true,当前最新日志文件名永远为file节中的名字--> <staticLogFileName value="true" /> <!--输出级别在INFO和ERROR之间的日志--> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="ALL" /> <param name="LevelMax" value="FATAL" /> </filter> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/> </layout> </appender> <root> <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--OFF:0--> <!--FATAL:FATAL--> <!--ERROR: ERROR,FATAL--> <!--WARN: WARN,ERROR,FATAL--> <!--INFO: INFO,WARN,ERROR,FATAL--> <!--DEBUG: INFO,WARN,ERROR,FATAL--> <!--ALL: DEBUG,INFO,WARN,ERROR,FATAL--> <priority value="ALL"/> <level value="INFO"/> <appender-ref ref="rollingAppender" /> </root> </log4net>
然后在Program.cs文件中进行注册,注册代码如下:
var builder = WebApplication.CreateBuilder(args); #region log4net { //引用log4net //引用Microsoft.Extensions.Logging.Log4Net.AspNetCore builder.Logging.AddLog4Net("CfgFile/Log4Net.Config"); } #endregion
注册完成后在程序里面就可以使用了,使用方法如下:
public class FirstController : Controller { private readonly ILogger<FirstController> _Logger; private readonly ILoggerFactory _LoggerFactory; public FirstController(ILogger<FirstController> logger,ILoggerFactory loggerFactory) { this._Logger = logger; this._Logger.LogInformation($"{this.GetType().Name}被构造了log1"); this._LoggerFactory = loggerFactory; ILogger<FirstController> _Logger2 = this._LoggerFactory.CreateLogger<FirstController>(); _Logger2.LogInformation($"{this.GetType().Name}被构造了log2"); } public IActionResult Index() { ILogger<FirstController> _Logger3 = this._LoggerFactory.CreateLogger<FirstController>(); _Logger3.LogInformation($"index被执行了"); this._Logger.LogInformation($"index被执行了"); return View(); } }
猜您可能还喜欢
- net core+webapi+nginx windows 服务器部署(1321)
- .Nuget Packages 太占C盘,删除后可以放到其他盘(1194)
- ASP.NET Core 配置 Swagger 显示接口注释描述信息(1094)
- vue调用接口后获取不到后端返回的Header响应头(964)
- .net core 系列实例开发教程-权限管理系统功能介绍(952)
- .net core 6.0 web API + SwaggerUI + IIS部署(912)
- .net core 实例教程(十二)配置启用Swagger中的【Authorize】按钮(831)
- .net core 实例教程(一)新建项目(797)
- .net core 实例教程(十四)配置 Swagger 显示接口注释描述信息及支持版本控制(783)
- .net 6中使用log4net写sqlserver数据库日志(756)
评论列表
发表评论
文章分类
文章归档
- 2025年3月 (1)
- 2024年6月 (2)
- 2024年5月 (2)
- 2024年4月 (4)
- 2024年3月 (30)
- 2024年1月 (4)
- 2023年12月 (2)
- 2023年11月 (4)
- 2023年10月 (4)
- 2023年9月 (6)
- 2023年3月 (2)
- 2023年2月 (1)
- 2023年1月 (1)
- 2022年12月 (1)
- 2022年9月 (21)
- 2022年8月 (10)
- 2022年7月 (3)
- 2022年4月 (1)
- 2022年3月 (13)
- 2021年8月 (1)
- 2021年3月 (1)
- 2020年12月 (42)
- 2020年11月 (7)
- 2020年10月 (5)
- 2020年8月 (1)
- 2020年6月 (1)
- 2020年3月 (2)
- 2019年12月 (8)
- 2019年11月 (3)
- 2019年9月 (1)
- 2019年4月 (1)
- 2019年3月 (6)
- 2019年2月 (1)
- 2018年7月 (7)
阅读排行
- 1.asp.net mvc内微信pc端、H5、JsApi支付方式总结(5702)
- 2.各大搜索网站网站收录提交入口地址(3201)
- 3.Windows 10休眠文件更改存储位置(3163)
- 4.ECharts仪表盘实例及参数使用详解(3095)
- 5.windows 10安装myeclipse 10破解补丁cracker.jar、run.bat闪退解决办法(2991)
- 6.HTML5 WebSocket与C#建立Socket连接实现代码(2866)
- 7.华为鸿蒙系统清除微信浏览器缓存方法(2779)
- 8.CERT_HAS_EXPIRED错误如何解决(2245)
- 9.Js异步async、await关键字详细介绍(lambda表达式中使用async和await关键字)(2188)
- 10.HBuilder编辑器格式化代码(2118)