配置Log4Net实现日志记录,输出文本日志到bin目录

在日常开发中,是不允许没有日志的项目上线的,线上出现故障时需要通过日志分析和定位问题
1.引入程序集
2.添加配置文件到项目Log4Net.config

官网配置文件说明

Log4Net.config
XML
<?xml version="1.0" encoding="utf-8" ?> 
 <log4net>
    <!-- Define some output appenders -->
   
    <!--Type 表示用那种类型记录日志-->
    <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender"> <!--表示用文本来记录日志-->
      
      <file value="log4net\log.txt" />
		
      <!--追加日志内容-->
      <!--<appendToFile value="false" />-->
      <appendToFile value="true" />
      <!--防止多线程时不能写Log,官方说线程非安全-->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><!--最小锁-->
      <!--配置Unicode编码-->
       <Encoding value="UTF-8" />
      <!--是否只写到一个文件里-->
      <param name="StaticLogFileName" value="false" />
       
      <!--当备份文件时,为文件名加的后缀,这里可以作为每一天的日志分别存储不同的文件-->
      <datePattern value="yyyyMMdd".txt"" />
       
      <!--可以为:Once|Size|Date|Composite-->
      <!--Composite为Size和Date的组合-->
      <!--<rollingStyle value="Composite" />-->
      <rollingStyle value="Size" />
       
      <!--日志最大个数,都是最新的-->
      <!--rollingStyle节点为Size时,只能有value个日志文件-->
      <!--rollingStyle节点为Composite时,每天有value个日志-->
      <maxSizeRollBackups value="20" />
      <!--可用的单位:KB|MB|GB-->
      <maximumFileSize value="2MB" />
      <!--置为true,当前最新日志文件名永远为file节中的名字-->
      <staticLogFileName value="true" />
      <!--过滤器-->
      <!--阻止所有事件被记录-->
      <!--<filter type="log4net.Filter.DenyAllFilter"> </filter>-->
      <!--只有指定等级的日志事件才被记录-->
      <!--<filter type="log4net.Filter.LevelMatchFilter">
        <param value="FATAL" />
      </filter>-->
 
      <!--日志等级在指定范围内的事件才被记录-->
      <!--<filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="ERROR" />
        <param name="LevelMax" value="FATAL" />
      </filter>-->
  
      <layout type="log4net.Layout.PatternLayout">
        <!--日志输出格式:时间  日志类型  日志内容-->
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
	 <!--控制级别-->
    <!-- levels: OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL -->
    <root>
      <priority value="ALL"/>
      <level value="ALL"/>
      <appender-ref ref="rollingAppender" />
    </root>
  </log4net>
3.全局配置
Program
C#
builder.Logging.AddLog4Net("Log/Log4Net.Config");
4.构造函数注入日志服务

订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部