程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> log4net在WINFORM中的使用

log4net在WINFORM中的使用

編輯:關於C#

最近在公司實習,暫時還沒有上網的權限,回家又太累了.好久沒來更新文章了,其實最近是有生以來進步最快的幾天.

閒話不多說,今天開始著手考慮我畢業設計的問題.想用Log4net來記錄日志信息.log4net在網上的介紹很多.我就不多說了,我就談談今天解決的問題.

最開始在一個單獨的項目裡,使用log4net記錄日志完全沒有問題.但後來,我希望在項目裡多次用到它,我就想把它再進一步的進行封裝,於是,我新建了一個類庫的項目,新建一個logout類,配置.然後在我的啟動項目(另外一個項目)裡調用,結果是怎麼也不能記錄信息,跟蹤了一下,是監聽沒有啟動成功.想了很久原因,最後把配置文件的路徑改為絕對路徑,成功了.但我不可能以後系統發布也使用了絕對路徑吧,於是我又試了一下,把log4net的配置文件直接復制到啟動項目的debug文件夾裡,OK!

以下是我的一些代碼:

封裝的類

using System;
using System.Collections.Generic;
using System.Text;
[assembly: log4net.Config.XmlConfigurator(ConfigFile="zylog.config",Watch=true)]


namespace ZYGIS.Log
{
    public class LogOut
    {
         public static readonly log4net.ILog log = log4net.LogManager.GetLogger("ZYGIS");
         public static void Debug(string message)
         {
             if (log.IsDebugEnabled)
             {
                 log.Debug(" 調試信息:\r\n "+message+"\r\n\r\n");
             }
         }
         public static void Info(string message)
         {
             if (log.IsInfoEnabled)
             {
                 log.Info(" 信息:\r\n " + message + "\r\n\r\n");
             }
         }
         public static void Error(string message)
         {
             if (log.IsErrorEnabled)
             {
                 log.Error("錯誤信息:\r\n " + message + "\r\n\r\n");
             }
         }
    }
  }

配置文件:zylog.config   //這個文件放到主程序的目錄下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  </configSections>
  <log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <file type="log4net.Util.PatternString" value="%日志\%date{yyyMMdd}\log.txt" />
      <sppendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date  %message" />
      </layout>
    </appender>
    <root>
      <appender-ref ref="LogFileAppender" />
    </root>
    <logger name="ZYGIS">
      <level value="All" />
      <appender-ref ref="RollingLogFileAppender"/>
    </logger>
  </log4net>
</configuration>

在主程序中調用:

Log.LogOut.Info("關閉軟件,結束運行");

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved