1. 程式人生 > >Log4Net記錄到數據庫

Log4Net記錄到數據庫

ring sun param add The net notes ODB manage

WinForm下Log4Net的配置

Log4Net 組件下載地址

https://download.csdn.net/download/zgx123zgx123zg/10470986

configSections節點下添加

    <!--Log4Net配置-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>

configuration節點下添加

<log4net>
    <appender name="ADONetAppender
" type="log4net.Appender.ADONetAppender"> <bufferSize value="1" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <connectionString value="Data Source=.;Initial Catalog=Test;Integrated Security=True;Connect Timeout=15;
" /> <commandText value="INSERT INTO ErrorLog ([dtDate],[sThread],[sLevel],[sLogger],[sMessage],[sException]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /> <parameter> <parameterName value="@log_date" /> <dbType value="DateTime
" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="100" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%t" /> </layout> </parameter> <parameter> <parameterName value="@log_level" /> <dbType value="String" /> <size value="200" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%p" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="500" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="3000" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%m" /> </layout> </parameter> <parameter> <parameterName value="@exception" /> <dbType value="String" /> <size value="4000" /> <layout type="log4net.Layout.ExceptionLayout" /> </parameter> </appender> <!-- setup the root category, add the appenders and set the default level --> <root> <level value="WARN"/> <level value="INFO"/> <level value="DEBUG"/> <level value="FINE"/> <appender-ref ref="ADONetAppender" /> </root> <!-- specify the level for some specific categories --> <logger name="iNotes"> <level value="WARN"/> <level value="INFO"/> <level value="DEBUG"/> <level value="FINE"/> <appender-ref ref="ADONetAppender"/> </logger> <logger name="StellaLogger"> <level value="ALL"/> <appender-ref ref="AdoNetAppender" /> </logger> </log4net>

AssemblyInfo.cs文件下添加

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

添加一個按鈕點擊事件裏加入

         log4net.ILog myLogger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            myLogger.Warn("這是一個警告日誌");
            myLogger.Info("單擊了按鈕");
            myLogger.Debug("用Log4Net寫入數據庫日誌");
            myLogger.Error("這是一個錯誤日誌");
            myLogger.Fatal("這是一個致命的錯誤日誌");
            try
            {
                ILog logger = LogManager.GetLogger("LogRecord");
                logger.Debug("用Log4Net寫入數據庫日誌");
                int x = 5;
                int y = 0;
                throw new Exception("測試錯誤");
            }
            catch (Exception ex)
            {
                myLogger.Error(ex.Message);
            }
            finally
            {
                label1.Text = DateTime.Now.ToLongTimeString() + ":操作日誌已記錄完成";
            }

轉載自http://www.cnblogs.com/wolf-sun/p/3347373.html#3009010

Log4Net記錄到數據庫