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: 在控制台打印数据

相关推荐
qq_454245033 小时前
GraphFoundation动态更新图
架构·c#·图论
愤豆4 小时前
07-Java语言核心-JVM原理-JVM对象模型详解
java·jvm·c#
张人玉4 小时前
上位机项目笔记
笔记·c#·上位机
小杍随笔6 小时前
【Rust Exercism 练习详解:Anagram + Space Age + Sublist(附完整代码与深度解读)】
开发语言·rust·c#
呆子也有梦6 小时前
redis 的延时双删、双重检查锁定在游戏服务端的使用(伪代码为C#)
redis·后端·游戏·缓存·c#
杰克尼8 小时前
知识点总结--day07(Spring-MVC框架)
java·spring·mvc
xyyaihxl8 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
第二只羽毛8 小时前
C++ 高并发内存池2
大数据·开发语言·jvm·c++·c#
William_cl10 小时前
[特殊字符]C# ASP.NET Core 前后端分离终极实战:JWT 身份认证与授权全流程(登录 + 鉴权 + 避坑)
c#·asp.net·状态模式
weixin_5375904520 小时前
《C程序设计语言》练习答案(练习1-13)
c语言·开发语言·c#