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一样,调用生成测试日志

猜你喜欢

转载自blog.csdn.net/wxstar8/article/details/73380614