WPF中如何使用log4net


WPF中如何使用log4net

最近由於項目的需要正在學習WPF,在項目中用到了log4net,由於在WPF中使用log4net的資料很少,因此把這次使用過程記錄下來,方便自己和新手參考。

  1. log4net安裝
    • 用戶可以從http://logging.apache.org/log4net/下載log4net的源代碼。解壓軟件包后,在解壓的src目錄下將log4net.sln載入Visual Studio .NET,編譯后可以得到log4net.dll。

    • 或直接下載編譯后的版本,得到二進制版本,如log4net-1.2.11\bin里有cli、mono、net、netcf和net-cp目錄。
      • netcf表示.Net Compact Framework版本, netcp表示.Net Framework Client Profile版本。
      • 目錄里的2.0,3.5,4.0分別表示不同的.Net版本。
      • 根據項目的需要分別引用不同的版本。如我的項目里就是net目錄里的4.0版本的log4net。
  2. 引用log4net
    • 在VS中右擊項目,點擊添加引用,引入log4net.dll。
  3. 添加app.config
    • 因為需要在app.config配置log4net信息,而WPF項目默認沒有app.config文件,所以需要手動添加該文件。
      • 右擊項目,點擊添加=>新項,選擇應用程序配置文件,把名字設為app.config。
      • 在app.config中添加log4net。如復制代碼
        <?xml version="1.0"?>
        <configuration>
        <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
        </configSections>
        <log4net>
        <root>
        <level value="DEBUG"/>
        <!--<appender-ref ref="SmtpAppender"/>-->
        <appender-ref ref="LogFileAppender"/>
        <!--<appender-ref ref="ColoredConsoleAppender"/>-->
        </root>

        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value="logs\log.txt"/>
        <param name="AppendToFile" value="true"/>
        <rollingStyle value="Size"/>
        <maxSizeRollBackups value="10"/>
        <maximumFileSize value="1MB"/>
        <staticLogFileName value="true"/>
        <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%02thread] %-5level %logger: %message%newline"/>
        </layout>
        </appender>

        <appender name="ColoredConsoleAppender" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger: %message%newline"/>
        </layout>
        </appender>

        <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
        <to value="bobby.chopra@prcm.com"/>
        <from value="TagFileUploader@prcm.com"/>
        <subject value="TagFileUploader ERROR"/>
        <smtpHost value="prc-mn-ex01"/>
        <bufferSize value="512"/>
        <lossy value="true"/>
        <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="ERROR"/>
        </evaluator>
        <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger: %message%newline"/>
        </layout>
        </appender>
        </log4net>

        <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
        </startup>

        </configuration>
        復制代碼
  4. 使用log4net
    • 復制代碼
      using log4net;

      namespace eureka
      {
      /// <summary>
      /// Interaction logic for App.xaml
      /// </summary>
      public partial class App : Application
      {
      public static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
      protected override void OnStartup(StartupEventArgs e)
      {
      log4net.Config.XmlConfigurator.Configure();
      base.OnStartup(e);
      log.Info(
      "==Startup=====================>>>");
      }
      protected override void OnExit(ExitEventArgs e)
      {
      log.Info(
      "<<<========================End==");
      base.OnExit(e);
      }
      }
      }
      復制代碼

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com