程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> (一)使用log4net生成日志文件,log4net日志文件

(一)使用log4net生成日志文件,log4net日志文件

編輯:C#入門知識

(一)使用log4net生成日志文件,log4net日志文件


1、引入log4net.dll

1.1 Nuget安裝 或 http://logging.apache.org/log4net/下載log4net的源代碼,編譯後把log4net.dll引入項目。

2、配置log4net.config

2.1 在Web.config文件中進行添加configSections的節點

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

2.2 添加log4net.config(設置為始終復制到輸出目錄)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <!-- 信息日志類 -->
    <logger name="loginfo">
      <level value="ALL" />
      <appender-ref ref="InfoAppender" />
    </logger>
    
    <!-- 信息日志附加介質 -->
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <!-- 輸出到什麼目錄 -->
      <param name="File" value="Log\\LogInfo\\" />
      <!-- 是否覆寫到文件中 -->
      <param name="AppendToFile" value="true" />
      <!-- 備份文件的個數 -->
      <param name="MaxSizeRollBackups" value="50" />
      <!-- 單個日志文件最大的大小 -->
      <param name="MaxFileSize" value="10240" />
      <!-- 是否使用靜態文件名 -->
      <param name="StaticLogFileName" value="false" />
      <!-- 日志文件名 -->
      <param name="DatePattern" value="yyyyMMdd&quot;.htm&quot;" />
      <param name="RollingStyle" value="Date" />
      <!-- 布局,更多參數可參照官網說明 -->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="&lt;HR COLOR=red&gt;
          %n級別:%-5p &lt;BR&gt;
          %n時間:%d [%t] &lt;BR&gt;
          %n描述:%m &lt;BR&gt;"/>
      </layout>
    </appender>
  </log4net>
</configuration>

2.3 在AssemblyInfo.cs文件中指定配置log4net.config

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

3、代碼使用示例

3.1 封裝工具類LogHelper

namespace July.Demo.Win
{
    public class LogHelper
    {
        static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");

        public static void WriteLog(string info)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }
    }
}

3.2 使用示例

private void Form1_Load(object sender, EventArgs e)
{
    LogHelper.WriteLog("窗體生成");
}

4、運行結果

4.1 效果圖如下

 


怎使用Log4net創建日志

  首先我們來分析一下Log4net的工作原理:  Log4net是基於.NET開發的一款非常著名的記錄日志開源組件。它通過一套XML配置的日志引擎,將日志分不同的等級,分別是:FATAL 、 ERROR、 WARN、 INFO 、 DEBUG、ALL(允許所有的日志請求)和OFF(拒絕所有的日志請求),缺省為DEBUG,前五個可以看到和我們平常在調試應用程序的出錯有點類似,在編譯器中也會留下如錯誤、警告之類的提示信息,它們的錯誤級別不斷的降低。  我們接著看Log4net的核心組成部分,Log4net主要由五個部分組成,分別為Logger,Appenders, Filters, Layouts 和Object Renders。  1) Logger:主要負責日志的記錄,它記錄的方式有多種,可以是以文件、數據庫、控制台、郵件等多處方式;  2) Appenders:主要負責記錄日志介質的方式,它的輸出方式主要包括:  AdoNetAppender:將日志記錄到數據庫中。可以采用SQL和存儲過程兩種方式。  AspNetTraceAppender:能用ASP.NET中跟蹤的方式查看記錄的日志。  BufferingForwardingAppender:在輸出到子Appenders之前先緩存日志事件。  ColoredConsoleAppender:在終端的窗口寫下高亮度的日志事件。  ConsoleAppender:將日志輸出到控制台。  EventLogAppender:將日志寫到Windows操作系統的日志中去。  FileAppender:將日志寫到文件中。  ForwardingAppender:用來為一個Appender指定一組約束。  MemoryAppender:將日志存到內存緩沖區。  NetSendAppender:將日志輸出到Windows Messenger service,這些日志信息將在用戶終端的對話框中顯示。  OutputDebugStringAppender:配置該Appender以向OutputDebugString API寫入日志。  RemotingAppender:通過.NET Remoting將日志寫到遠程接收端。  RollingFileAppender:將日志以回滾文件的形式寫到文件中。  SmtpAppender:將日志寫到郵件中。  SmtpPickupDirAppender:配置與SmtpAppender類似,但要把SmtpHost換為PickupDir。  TraceAppender:將日志寫到.NET trace 系統。  UdpAppender:將日志connectionless UDP datagrams的形式送到遠程宿主或以UdpClient的形式廣播。  以上有些輸出方式可能會經常用到,有些可能會不經常用到,具體我們在下面舉例來說明。  3) Layouts:主要負責把記錄日志格式化輸出,顯示得格式主要如下:  %timestamp [%thread] %-5level %logger{2} %ndc - %message%newline  timestamp: 表示程序已經開始執行的時間。 單位[毫秒]。  Thread:執行當前代碼的線程。  Level:日志的級別。  Logger:日志相關請求的名稱。
 

log4net怎查看當前正在寫入的日志文件名

只要是大於10M就生成一個新的日志文件
這個就是指導舊的日志文件重命名了,當前正在寫入的日志文件,還是配置裡指定的那個文件名,明白嗎?
你只要打開配置裡指定的那個文件,就是最新的
 

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