C#:winform程序最簡單調用log4net的日誌功能

 

1.引用log4net包

右擊項目-》管理NuGet程序包

搜索log4net,並安裝

2.配置log4net

在項目的App.config配置文件的節點中添加log4net的相關配置信息。文件內容如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>  
  <configSections>
    <!--註冊log4net部件-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  
  <!--log4net配置參數-->
  <log4net>
    <!--自定義日誌輸出參數-->
    <appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <param name="File" value="Logs\" />
      <param name="AppendToFile" value="true" />
      <param name="rollingStyle" value="Date" />
      <param name="datePattern" value="yyyy-MM-dd'.log'" />
      <param name="staticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <!--日誌格式-->
        <conversionPattern value="%n時間:%d{yyy-MM-dd HH:mm:ss } 等級:%-5level %n類名:%c - %L %n調試:%message %newline" />
      </layout>
      <!--日誌優先級設置-->
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="ERROR" />
      </filter>
    </appender>
    <root>
      <level value="DEBUG" />
      <!--自定義日誌輸出類型-->
      <appender-ref ref="ErrorRollingFileAppender" />
      <appender-ref ref="DebugRollingFileAppender" />
      <appender-ref ref="InfoRollingFileAppender" />
    </root>
  </log4net>
</configuration>

3.程序集信息文件AssemblyInfo.cs配置

此文件如果沒有設置,可能無法輸出日誌文件。文件位於項目的Properties下的AssemblyInfo.cs

添加一行代碼

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

4.程序調用方法

using log4net;
...

public partial class frmMain : Form
{
        private static ILog log = LogManager.GetLogger(typeof(frmMain));

        private void btnTest_Click(object sender, EventArgs e)
        {
                string msg = "操作完成.";
                log.Debug(msg);
                MessageBox.Show(msg, "提示", MessageBoxButtons.OK);
        }
}

5.查看輸出日誌

運行程序,點擊該功能按鈕後,在項目的logs目錄下會生成日期格式的日誌文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章