添加Log需要四步:
一、引用log4net.dll,詳見附件:http://pan.baidu.com/s/1c0hab2g
二、項目根目錄下,添加log4net.xml
1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <configSections> 4 <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> 5 </configSections> 6 <log4net> 7 <!--定義輸出到文件中--> 8 <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> 9 <!--定義文件存放位置-->10 <file value="D:/log4netfile/BYPlatformWAPI.log" />11 <!--是否追加到文件-->12 <appendToFile value="true" />13 <!--名稱是否可以更改 為false為可以更改-->14 <param name="StaticLogFileName" value="false"/>15 <!--變換的形式為日期-->16 <rollingStyle value="Date" />17 <!--日期的格式-->18 <datePattern value="yyyyMMdd-HHmmss" />19 <layout type="log4net.Layout.PatternLayout">20 <!--<conversionPattern value="記錄時間:%date 線程ID:[%thread] 日志級別:%-5level 出錯類:%logger PRoperty:[%property{NDC}] - 錯誤描述:%message%newline" />-->21 <conversionPattern value="記錄時間:%date 日志級別:%level Log類:%logger - Log描述:/n %message%newline" />22 </layout>23 </appender>24 25 <!--定義輸出到控制臺命令行中-->26 <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">27 <layout type="log4net.Layout.PatternLayout">28 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />29 </layout>30 </appender>31 <!--定義輸出到windows事件中-->32 <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">33 <layout type="log4net.Layout.PatternLayout">34 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />35 </layout>36 </appender>37 <!--定義輸出到數(shù)據(jù)庫中,這里舉例輸出到access數(shù)據(jù)庫中,數(shù)據(jù)庫為C盤的log4net.mdb-->38 <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">39 <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />40 <commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />41 <!--定義各個參數(shù)-->42 <parameter>43 <parameterName value="@logDate" />44 <dbType value="String" />45 <size value="240" />46 <layout type="log4net.Layout.PatternLayout">47 <conversionPattern value="%date" />48 </layout>49 </parameter>50 <parameter>51 <parameterName value="@thread" />52 <dbType value="String" />53 <size value="240" />54 <layout type="log4net.Layout.PatternLayout">55 <conversionPattern value="%thread" />56 </layout>57 </parameter>58 <parameter>59 <parameterName value="@logLevel" />60 <dbType value="String" />61 <size value="240" />62 <layout type="log4net.Layout.PatternLayout">63 <conversionPattern value="%level" />64 </layout>65 </parameter>66 <parameter>67 <parameterName value="@logger" />68 <dbType value="String" />69 <size value="240" />70 <layout type="log4net.Layout.PatternLayout">71 <conversionPattern value="%logger" />72 </layout>73 </parameter>74 <parameter>75 <parameterName value="@message" />76 <dbType value="String" />77 <size value="240" />78 <layout type="log4net.Layout.PatternLayout">79 <conversionPattern value="%message" />80 </layout>81 </parameter>82 </appender>83 <!--定義日志的輸出媒介,下面定義日志以四種方式輸出。也可以下面的按照一種類型或其他類型輸出。-->84 <root>85 <level value="ALL" />86 <!--文件形式記錄日志-->87 <appender-ref ref="LogFileAppender" />88 <!--控制臺控制顯示日志89 <appender-ref ref="ConsoleAppender" />-->90 <!--Windows事件日志91 <appender-ref ref="EventLogAppender" />-->92 <!-- 如果不啟用相應的日志記錄,可以通過這種方式注釋掉93 <appender-ref ref="AdoNetAppender_Access" />94 -->95 </root>96 97 </log4net>98 </configuration>log4net.xml
三、在/Properties/AssemblyInfo.cs文件的底部,添加一句:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
1 using System.Reflection; 2 using System.Runtime.CompilerServices; 3 using System.Runtime.InteropServices; 4 5 // 有關程序集的常規(guī)信息通過下列特性集 6 // 控制。更改這些特性值可修改 7 // 與程序集關聯(lián)的信息。 8 [assembly: AssemblyTitle("Web")] 9 [assembly: AssemblyDescr組件不可見。如果需要從 COM 訪問此程序集中的某個類型,19 // 請針對該類型將 ComVisible 特性設置為 true。20 [assembly: ComVisible(false)]21 22 // 如果此項目向 COM 公開,則下列 GUID 用于類型庫的 ID23 [assembly: Guid("940997e2-1820-4f8b-b280-2e1bf426fe27")]24 25 // 程序集的版本信息由下列四個值組成:26 //27 // 主版本28 // 次版本29 // 內(nèi)部版本號30 // 修訂號31 //32 // 可以指定所有這些值,也可以使用“修訂號”和“內(nèi)部版本號”的默認值,33 // 方法是按如下所示使用“*”:34 [assembly: AssemblyVersion("1.0.0.0")]35 [assembly: AssemblyFileVersion("1.0.0.0")]36 37 //添加下面這句38 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]AssemblyInfo.cs
四、在要實現(xiàn)的類中添加全局變量:
1 public class ConnectController : ApiController 2 { 3 #region 全局變量 4 /// <summary> 5 /// 日志引用 6 /// </summary> 7 private static log4net.ILog Log = LogManager.GetLogger("類名"); 8 #endregion 9 10 public void Main()11 {12 try13 {14 Log.Debug("/n");15 Log.Debug("Log 開始!");16 }17 catch (Exception ex)18 {19 Log.Error("Log 異常 :", ex);20 }21 finally22 {23 Log.Debug("Log 結(jié)束!");24 }25 }26 }View Code
個人網(wǎng)站正在搭建中:http://Amoysec.com,準備使用bootstrap + knockoutjs + MVC +WebAPI + EF6.0來做,其中對knockoutjs也算有不少的了解了,雖然比不上博客園的湯姆大叔,但也全憑自己對一份chm文檔摸索出了不少。歡迎一起探討!
轉(zhuǎn)載請注明出處,謝謝:http://www.companysz.com/mose/p/Amoy.html
新聞熱點
疑難解答