.net7 控制台使用 log4net

1.nuget 安装 log4net

 

 2.添加配置文件,以下是在是添加的配置文件,对log4net.config文件右击属性,选择 “复制到输出目录”:始终复制

 

 3.把以下内容拷贝进去

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>
    <log4net>
        <!--数据日志-->
        <appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <param name="File" value="Log\Info\" />
            <param name="AppendToFile" value="true" />
            <param name="rollingStyle" value="Date" />
            <param name="datePattern" value="yyyy-MM-dd.'Info.log'" />
            <param name="staticLogFileName" value="false" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="记录时间:%date %n日志级别:%-5level %n记录类:%logger%n记录描述:%message%n%n" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="INFO" />
                <param name="LevelMax" value="INFO" />
            </filter>
        </appender>
        <!--错误日志-->
        <appender name="ErrorRollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <param name="File" value="Log\Error\" />
            <param name="AppendToFile" value="true" />
            <param name="rollingStyle" value="Date" />
            <param name="datePattern" value="yyyy-MM-dd.'error.log'" />
            <param name="staticLogFileName" value="false" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="记录时间:%date %n日志级别:%-5level %n出错类:%logger%n错误描述:%message%n%n" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="ERROR" />
                <param name="LevelMax" value="ERROR" />
            </filter>
        </appender>
        <!--调试日志-->
        <appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <param name="File" value="Log\Debug\" />
            <param name="AppendToFile" value="true" />
            <param name="rollingStyle" value="Date" />
            <param name="datePattern" value="yyyy-MM-dd.'debug.log'" />
            <param name="staticLogFileName" value="false" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="记录时间:%date %n日志级别:%-5level %n调试类:%logger%n日志描述:%message%n%n" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="DEBUG" />
                <param name="LevelMax" value="DEBUG" />
            </filter>
        </appender>
        <root>
            <level value="DEBUG" />
            <!--文件形式记录日志-->
            <appender-ref ref="ErrorRollingFileAppender" />
            <appender-ref ref="DebugRollingFileAppender" />
            <appender-ref ref="InfoRollingFileAppender" />
        </root>
    </log4net>
</configuration>

4.开始写日志

5.输出日志

 

 6.asp.net core log4net 配置文件

<?xml version="1.0" encoding="utf-8"?>
<log4net>
	<!-- Define some output appenders -->
	<appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
		<file value="log\log.txt" />
		<!--追加日志内容-->
		<appendToFile value="true" />

		<!--防止多线程时不能写Log,官方说线程非安全-->
		<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

		<!--可以为:Once|Size|Date|Composite-->
		<!--Composite为Size和Date的组合-->
		<rollingStyle value="Composite" />

		<!--当备份文件时,为文件名加的后缀-->
		<datePattern value="yyyyMMdd.TXT" />

		<!--日志最大个数,都是最新的-->
		<!--rollingStyle节点为Size时,只能有value个日志-->
		<!--rollingStyle节点为Composite时,每天有value个日志-->
		<maxSizeRollBackups value="20" />

		<!--可用的单位:KB|MB|GB-->
		<maximumFileSize value="3MB" />

		<!--置为true,当前最新日志文件名永远为file节中的名字-->
		<staticLogFileName value="true" />

		<!--输出级别在INFO和ERROR之间的日志-->
		<filter type="log4net.Filter.LevelRangeFilter">
			<param name="LevelMin" value="INFO" />
			<param name="LevelMax" value="ERROR" />
		</filter>
		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
		</layout>
	</appender>
	<root>
		<priority value="ALL"/>
		<level value="ALL"/>
		<appender-ref ref="rollingAppender" />
	</root>
</log4net>

  

 

posted @ 2023-04-12 01:38  lee429245403  阅读(433)  评论(0)    收藏  举报