• .net core通过依赖注入使用log4net记录日志


    进入现在的公司,每天都很忙碌,虽然说这样会让你感觉到充实,但是充实过后难免有些空虚,因为周而复始的业务逻辑不但没有让自己能力提高,而且还陷入每天修改别人bug的死循环中。今天刚好周末有点时间就研究了一下.net core中如何使用log4net记录日志,当然咱们也可以像以前.net framework那样创建一个LogHelper,但是咱们既然使用到了依赖注入,还是通过依赖注入的方式来实现吧。

    第一步、通过nuget引入类库

    <ItemGroup>
        <PackageReference Include="log4net" Version="2.0.12" />
        <PackageReference Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="3.1.5" />
    </ItemGroup>

    第二步、修改.net core的默认日志记录方式

    修改Program.cs

     第三步、编码记录日志

     第四步、log4net.config文件

    <?xml version="1.0" encoding="utf-8"?>
    <log4net>
        <appender name="Log4Name" type="log4net.Appender.RollingFileAppender">
            <!--日志路径-->
            <param name="File" value="loglog.log" />
            <!--是否是向文件中追加日志-->
            <param name="AppendToFile" value="true" />
            <!--log保留个数-->
            <param name="MaxSizeRollBackups" value="200" />
            <!--单个日志文件大小-->
            <param name="MaximumFileSize" value="5MB" />
            <!--日志文件名是否是固定不变的-->
            <param name="StaticLogFileName" value="false" />
            <!--日志文件名格式为:2008-08-31.log-->
            <DatePattern value="yyyy-MM-dd HH'时.log'"></DatePattern>
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
            <param name="RollingStyle" value="Size" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
            </layout>
        </appender>
        <root>
            <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
            <level value="ALL" />
            <appender-ref ref="Log4Name" />
        </root>
    </log4net>
    View Code

    第五步、调整日志级别

    首先咱们必须要清楚,日志的记录首先是通过.net core的日志记录器输出日志,然后再通过log4net进行文本输出,因此这里有两个地方需要控制日志级别,log4net的日志基本不用赘述,如下:

    (高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低)

    而.net core的日志级别则需要调整appsettings.json(或appsettings.Development.json)文件中的配置:

     

     至此,就可以正常输出日志了。

  • 相关阅读:
    地址栏中提交中文参数乱码问题
    拼接html字符串时单引号问题
    细线表格的制作
    盒子模型
    盒子间距离的计算规则:
    正则表达式
    轻便+智能:史上最酷恒温器Nest 2.0!
    医疗的未来,是身体控制大权的争夺战
    而立之年话沧桑
    刘晓明大使在《电讯报》的英文原文
  • 原文地址:https://www.cnblogs.com/duanjt/p/13910633.html
Copyright © 2020-2023  润新知