.net core webapi教程-使用log4net写sqlserver数据库日志
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<?xml version= "1.0" encoding= "utf-8" ?> <log4net> <!--SqlServer形式--> <!--log4net日志配置:http: //logging.apache.org/log4net/release/config-examples.html --> <appender name= "AdoNetAppender_SqlServer" type= "log4net.Appender.AdoNetAppender" > <!--日志缓存写入条数 设置为0时只要有一条就立刻写到数据库--> <bufferSize value= "0" /> <connectionType value= "System.Data.SqlClient.SqlConnection,System.Data.SqlClient, Version=4.6.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <connectionString value= "Data Source=.;Initial Catalog=LogManager;Persist Security Info=True;User ID=sa;Password=t145879" /> <commandText value= "INSERT INTO Log4Net ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /> <parameter> <parameterName value= "@log_date" /> <dbType value= "DateTime" /> <layout type= "log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value= "@thread" /> <dbType value= "String" /> <size value= "255" /> <layout type= "log4net.Layout.PatternLayout" > <conversionPattern value= "%thread" /> </layout> </parameter> <parameter> <parameterName value= "@log_level" /> <dbType value= "String" /> <size value= "50" /> <layout type= "log4net.Layout.PatternLayout" > <conversionPattern value= "%level" /> </layout> </parameter> <parameter> <parameterName value= "@logger" /> <dbType value= "String" /> <size value= "255" /> <layout type= "log4net.Layout.PatternLayout" > <conversionPattern value= "%logger" /> </layout> </parameter> <parameter> <parameterName value= "@message" /> <dbType value= "String" /> <size value= "4000" /> <layout type= "log4net.Layout.PatternLayout" > <conversionPattern value= "%message" /> </layout> </parameter> <parameter> <parameterName value= "@exception" /> <dbType value= "String" /> <size value= "2000" /> <layout type= "log4net.Layout.ExceptionLayout" /> </parameter> </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= "AdoNetAppender_SqlServer" /> </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 |
注册完成后在程序里面就可以使用了,使用方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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请求参数设置默认值(1702)
- .net core webapi教程-设置返回Json格式与Model大小写一致(1165)
- .net core webapi教程-设置日期型字段返回Json格式(1135)
- .net core webapi教程-IActionFilter使用详解 (1093)
- .net core webapi教程-配置 Swagger 显示接口注释及描述信息(1061)
- .net core webapi教程-Swagger请求参数通过属性特性设置默认值(925)
- .net core webapi教程-Filter全局注册、控制器注册如何排除某些Action方法使其不生效(863)
- .net core webapi教程-IExceptionFilter、IAsyncExceptionFilter使用详解 (850)
- .net core webapi教程-使用log4net写文本日志(776)
- .net core webapi教程-使用log4net写sqlserver数据库日志 (707)
评论列表
发表评论
文章分类
文章归档
阅读排行
- 1. Windows Server 2008 R2永久激活及Chew-WGA v0.9下载(12832)
- 2.Visual Studio 2017中安装visualSVN及使用详解(4919)
- 3.完美解决iis下JWplayer提示Error loading media: File could not be played错误(3814)
- 4.asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(3040)
- 5.Android avax.net.ssl.SSLPeerUnverifiedException: No peer certificate 解决方法(httpClient支持HTTPS的访问方式)(2897)
- 6..Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(2750)
- 7.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2649)
- 8.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2621)
- 9. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2265)
- 10.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2232)