.net core webapi教程-使用log4net写文本日志
.net 6中使用log4net必须添加log4net、Microsoft.Extensions.Logging.Log4Net.AspNetCore两个引用。
使用之前必须在项目中添加log4net的配置文件Log4Net.Config,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<?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文件中进行注册,注册代码如下:
1
2
3
4
5
6
7
8
|
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教程-Swagger请求参数设置默认值(1660)
- .net core webapi教程-设置返回Json格式与Model大小写一致(1141)
- .net core webapi教程-设置日期型字段返回Json格式(1100)
- .net core webapi教程-IActionFilter使用详解 (1057)
- .net core webapi教程-配置 Swagger 显示接口注释及描述信息(1042)
- .net core webapi教程-Swagger请求参数通过属性特性设置默认值(914)
- .net core webapi教程-Filter全局注册、控制器注册如何排除某些Action方法使其不生效(828)
- .net core webapi教程-IExceptionFilter、IAsyncExceptionFilter使用详解 (823)
- .net core webapi教程-使用log4net写文本日志(759)
- .net core webapi教程-使用log4net写sqlserver数据库日志 (693)
评论列表
发表评论
文章分类
文章归档
阅读排行
- 1. Windows Server 2008 R2永久激活及Chew-WGA v0.9下载(12647)
- 2.Visual Studio 2017中安装visualSVN及使用详解(4838)
- 3.完美解决iis下JWplayer提示Error loading media: File could not be played错误(3707)
- 4.asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(2933)
- 5.Android avax.net.ssl.SSLPeerUnverifiedException: No peer certificate 解决方法(httpClient支持HTTPS的访问方式)(2792)
- 6..Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(2638)
- 7.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2577)
- 8.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2541)
- 9. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2191)
- 10.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2160)