使用log4net生成日誌文件 (一)使用log4net生成日誌文件

(一)使用log4net生成日誌文件

 

一、引入log4net.dll

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

二、配置log4net.config

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

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

2.2 添加log4net.config(設置爲始終複製到輸出目錄)java

複製代碼
<?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.configweb

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

2.4 若項目爲B/S結構,還需在Global.asax文件中添加以下配置apache

log4net.Config.XmlConfigurator.Configure();

三、代碼使用示例

3.1 封裝工具類LogHelperapp

複製代碼
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.1 效果圖以下佈局

相關文章
相關標籤/搜索