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。如
        View Code
        <?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);
              }
          }
      }

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM