Net.Core Mvc 添加 log 日志

1: 首先在 Nuget 安装插件

2:添加 log 配置

在项目中新创件一个文件夹 ConfigFile 在文件家里面添加 log4net.config

log4net.config 里面写入

XML 复制代码
<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<log4net>
		<!--跟配置-->
		<root>
			<!--日志级别:可选值:ERROR > WARN > INFO > DEBUG-->
			<level value="ERROR"/>
			<level value="WARN"/>
			<level value="INFO"/>
			<level value="DEBUG"/>
			<appender-ref ref="ErrorLog" />
			<appender-ref ref="WarnLog" />
			<appender-ref ref="InfoLog" />
			<appender-ref ref="DebugLog"/>
		</root>
		<!-- 错误 Error.log-->
		<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
			<!--目录路径,可以是相对路径或绝对路径-->
			<param name="File" value="C:\logs\"/>
			<!--文件名,按日期生成文件夹来-->
			<appender naem="DatePattern" value="/yyyy-MM-dd/'ErrorLog.log'"/>
			<!--追加到文件-->
			<appendToFile value="true"/>
			<!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
			<rollingStyle value="Composite"/>
			<!--写到一个文件-->
			<staticLogFileName value="false"/>
			<!--单个文件大小。单位:KB|MB|GB-->
			<maximumFileSize value="200MB"/>
			<!--最多保留的文件数,设为"-1"则不限-->
			<maxSizeRollBackups value="-1"/>
			<!--日志格式-->
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
			</layout>
			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMin" value="ERROR" />
				<param name="LevelMax" value="ERROR" />
			</filter>
		</appender>
		<appender name="WarnLog" type="log4net.Appender.RollingFileAppender">
			<!--目录路径,可以是相对路径或绝对路径-->
			<param name="File" value="C:\logs\"/>
			<!--文件名,按日期生成文件夹-->
			<param name="DatePattern" value="/yyyy-MM-dd/'WarnLog.log'"/>
			<!--追加到文件-->
			<appendToFile value="true"/>
			<!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
			<rollingStyle value="Composite"/>
			<!--写到一个文件-->
			<staticLogFileName value="false"/>
			<!--单个文件大小。单位:KB|MB|GB-->
			<maximumFileSize value="200MB"/>
			<!--最多保留的文件数,设为"-1"则不限-->
			<maxSizeRollBackups value="-1"/>
			<!--日志格式-->
			<layout type="log4net.Layout.PatternLayout">
				<!--每条日志末尾的文字说明-->
				<!--输出格式-->
				<!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
				<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n错误描述:%message%newline %n" />
			</layout>
			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMin" value="WARN" />
				<param name="LevelMax" value="WARN" />
			</filter>
		</appender>
		<!-- 信息 Info.log-->
		<appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
			<!--目录路径,可以是相对路径或绝对路径-->
			<param name="File" value="C:\logs\"/>
			<!--文件名,按日期生成文件夹-->
			<!--<param name="DatePattern" value="yyyyMM\\yyyyMMdd'.txt'" />-->
			<param name="DatePattern" value="/yyyy-MM-dd/'InfoLog.log'"/>
			<!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
			<staticLogFileName value="false" />
			<!--追加到文件-->
			<appendToFile value="true"/>
			<!--防止多线程时不能写log-->
			<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
			<!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
			<rollingStyle value="Composite"/>
			<!--写到一个文件-->
			<staticLogFileName value="false"/>
			<!--单个文件大小。单位:KB|MB|GB-->
			<maximumFileSize value="200MB"/>
			<!--最多保留的文件数,设为"-1"则不限-->
			<maxSizeRollBackups value="-1"/>
			<!--日志格式-->
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="[%d{HH:mm:ss}]%m%n"/>
			</layout>
			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMin" value="INFO" />
				<param name="LevelMax" value="INFO" />
			</filter>
		</appender>
		<!-- 调试 Debug.log-->
		<appender name="DebugLog" type="log4net.Appender.RollingFileAppender">
			<!--目录路径,可以是相对路径或绝对路径-->
			<param name="File" value="C:\logs\"/>
			<!--文件名,按日期生成文件夹-->
			<param name="DatePattern" value="/yyyy-MM-dd/'DebugLog.log'"/>
			<!--追加到文件-->
			<appendToFile value="true"/>
			<!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
			<rollingStyle value="Composite"/>
			<!--写到一个文件-->
			<staticLogFileName value="false"/>
			<!--单个文件大小。单位:KB|MB|GB-->
			<maximumFileSize value="200MB"/>
			<!--最多保留的文件数,设为"-1"则不限-->
			<maxSizeRollBackups value="-1"/>
			<!--日志格式-->
			<layout type="log4net.Layout.PatternLayout">
				<!--每条日志末尾的文字说明-->
				<!--输出格式-->
				<!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
				<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n错误描述:%message%newline %n" />
			</layout>
			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMin" value="DEBUG" />
				<param name="LevelMax" value="DEBUG" />
			</filter>
		</appender>
	</log4net>


</configuration>

3 :在 Program 配置里添加

4: 在控制台打印数据

相关推荐
rockey62710 小时前
基于AScript的Lua脚本语言发布啦
c#·.net·lua·script·动态脚本
半亩码田13 小时前
【.NET新特性·第11篇】C# 14 字段属性:告别手写 backing field
java·c#·.net
曹牧13 小时前
C#:问号
前端·数据库·c#
少控科技13 小时前
农场设备管理代码(2)
开发语言·c#
唐青枫15 小时前
别再把命令行参数写成一团:C#.NET System.CommandLine 实战详解
c#·.net
hez201015 小时前
让 .NET 11 的泛型虚方法变得更快!
c#·.net·.net core·clr·compiler
四代水门16 小时前
三、计算机网络
服务器·计算机网络·asp.net
宝桥南山17 小时前
Microsoft Agent Framework(.NET) - 尝试一下从MCP Server上获取Agent Skills
ai·微软·c#·aigc·.net·.netcore
少控科技18 小时前
农场设备管理代码(1)
开发语言·c#
椒颜皮皮虾྅1 天前
OpenVINO C# API 3.3.1:支持OpenVINO 2026.3及GenAI增强
人工智能·c#·openvino