ASPNETCore6 写日志方式(log4net,log4net+sql server,Nlog)


前言

最近正在学习net6,正好学到日志组件这一块,写一个笔记吧。
ASPNETCore6 写日志方式(log4net,log4net+sql server,Nlog)
参考使用软件:Visual Studio 2022,Sql Server2019


一、log4net

log4net是Apache软件基金会Apache日志记录服务项目的一部分。日志记录服务项目旨在为应用程序调试和审核提供跨语言日志记录服务。

1.引入程序包log4net

在这里插入图片描述

在这里插入图片描述
在里面搜索:log4net和Microsoft.Extensions.Logging.Log4Net.AspNetCore
把这两个下载安装

2.配置文件Log4net.config

  1. 先新建一个文件
    搜索配置文件,找到后缀为config的文件类型,更改文件名。
    在这里插入图片描述
  2. 文件内容
    可从官网找到配置内容
    https://logging.apache.org/log4net/release/manual/configuration.html
    在这里插入图片描述

下附配置代码:

<?xml version="1.0" encoding="utf-8"?>
<log4net>
	<!-- 将日志以回滚文件的形式写到文件中 -->
	<!-- 按日期切分日志文件,并将日期作为日志文件的名字 -->
	<appender name="RollingFileAppenderNameByDate" type="log4net.Appender.RollingFileAppender">
		<!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 -->
		<file value="Logs" />
		<!-- 将日志信息追加到已有的日志文件中-->
		<appendToFile value="true" />
		<!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
		<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
		<!-- 指定按日期切分日志文件 -->
		<rollingStyle value="Date" />
		<!-- 日志文件的命名规则 -->
		<datePattern value="&quot;TestLogs_&quot;yyyyMMdd&quot;.log&quot;"/>
		<!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
		<staticLogFileName value="false" />
		<!-- 日志显示模板 -->
		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="【异常时间】:%date %newline%message%newline--------------------------------------------------------------------%newline" />
		</layout>
	</appender>

	<root>
		<!-- 控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
		<!-- 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 -->
		<!-- 如果没有定义LEVEL的值,则缺省为DEBUG -->
		<level value="ALL" />
		<!-- 按日期切分日志文件,并将日期作为日志文件的名字 -->
		<appender-ref ref="RollingFileAppenderNameByDate" />
	</root>
</log4net>

其他操作

  1. 在program.cs文件中添加语句
//需要配置文件
builder.Logging.AddLog4Net("Log4net.config");

在这里插入图片描述

  1. 在controllers.cs中:
 private readonly ILogger<firstController> _logger;
        private readonly ILoggerFactory _loggerFactory;


        public firstController(ILogger<firstController>logger
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值