c# log4net 日志添加

Posted wxstar8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# log4net 日志添加相关的知识,希望对你有一定的参考价值。

添加方式1


(1)、在App.Config 添加代码如下:


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net debug="true">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Log\\applicationLog.log" />
      file可以指定具体的路径 eg : d:\\\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      备份log文件的个数最多10个
      <maximumFileSize value="2MB" />
      每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        指定log的格式
        <conversionPattern value="[%date] -- %-5level -- %logger -- %message%newline" />
      </layout>
    </appender>

    <root>
      <level value="DEBUG" />
      指定将此级别及以上的log打印到log文件中
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>

</configuration>

(2)增加一个 LogHelper类

[assembly: log4net.Config.XmlConfigurator(Watch = true)] //不能少
namespace LogTest

    public class LogHelper
    
        /// <summary>
        /// 输出日志到Log4Net
        /// </summary>
        /// <param name="t"></param>
        /// <param name="ex"></param>
        public static void WirteLog(Type t,Exception ex)
        
            log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Error(ex);
        

        public static void WriteLog(Type t, string mesage)
        
            log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Info(mesage);
        
(3)在其他类中调用

    public partial class MainWindow : Window
    
        public MainWindow()
        
            InitializeComponent();
        

        private void btnTest_Click(object sender, RoutedEventArgs e)
        
            LogHelper.WriteLog(typeof(MainWindow), "日志写入测试");
            
        
    

方法2:将日志的格式写在自己命名的文件命中。如log4net.xml


(1)、在AssemblyInfo.cs文件中添加如下代码

 //日志系统 配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "config/log4net.xml", Watch = true)] //ConfigFile 为日志配置文件目录

(2)、增加一个LogHelper类,如方法1一样,不过要去掉:

          [assembly: log4net.Config.XmlConfigurator(Watch = true)]

(3)、如方法一的步骤3一样,调用生成测试日志

以上是关于c# log4net 日志添加的主要内容,如果未能解决你的问题,请参考以下文章

C#上位机开发(十三)—— 使用Log4net添加日志记录功能

C#上位机开发(十三)—— 使用Log4net添加日志记录功能

C# 使用Log4Net记录程序日志

c#中使用log4net工具记录日志

C# 日志管理框架:Common.Logging和log4net

如何使用 C# 中的 log4net 记录日志