Net.Core Mvc 添加 log 日志

时间:2024-11-16 10:40:48

1:  首先在 Nuget 安装插件

2:添加 log 配置

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

        log4net.config 里面写入

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