.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请求参数设置默认值(1927)
- .net core webapi教程-设置返回Json格式与Model大小写一致(1377)
- .net core webapi教程-配置 Swagger 显示接口注释及描述信息(1283)
- .net core webapi教程-设置日期型字段返回Json格式(1266)
- .net core webapi教程-IActionFilter使用详解 (1200)
- .net core webapi教程-Filter全局注册、控制器注册如何排除某些Action方法使其不生效(1097)
- .net core webapi教程-Swagger请求参数通过属性特性设置默认值(1070)
- .net core webapi教程-IExceptionFilter、IAsyncExceptionFilter使用详解 (1002)
- .net core webapi教程-Filter的多种注册方法(963)
- .net core webapi教程-使用log4net写文本日志(923)
评论列表
发表评论
文章分类
文章归档
阅读排行
- 1. Windows Server 2008 R2永久激活及Chew-WGA v0.9下载(13315)
- 2.Visual Studio 2017中安装visualSVN及使用详解(5230)
- 3.完美解决iis下JWplayer提示Error loading media: File could not be played错误(4068)
- 4.asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(3419)
- 5.Android avax.net.ssl.SSLPeerUnverifiedException: No peer certificate 解决方法(httpClient支持HTTPS的访问方式)(3265)
- 6..Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(3015)
- 7.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2906)
- 8.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2904)
- 9.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2515)
- 10. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2488)
