.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 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?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 @   lee429245403  阅读(398)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示