log4net寫入mysql完整例子

來源:互聯網
上載者:User

標籤:

1,建立表log CREATE TABLE `log` (`id`  int(11) NOT NULL AUTO_INCREMENT ,`log_datetime`  timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,`log_thread`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`log_level`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`log_logger`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`log_message`  text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,PRIMARY KEY (`id`))ENGINE=InnoDBDEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ciAUTO_INCREMENT=12ROW_FORMAT=DYNAMIC;  2,添加設定檔log4net.config將下面記憶體複製到txt中,txt重新命名為log4net.config,放在網站或程式根目錄下。 <?xml version="1.0"?> <configuration>  <configSections>    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />  </configSections>   <log4net>    <appender name="stdout" type="log4net.Appender.ConsoleAppender">      <layout type="log4net.Layout.PatternLayout">        <param name="ConversionPattern" value="[%d %l] %m%n" />      </layout>    </appender>     <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">      <param name="ConnectionType" value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />      <param name="ConnectionString" value="Server=192.168.16.247;port=3306;User ID=root;password=Juanpi123;database=spider;charset=utf8;Allow User Variables=True"/>      <param name="CommandText" value="insert into log(log_datetime,log_thread,log_level,log_logger,log_message) values(@log_datetime, @log_thread , @log_level, @log_logger, @log_message)" />       <param name="Parameter">        <param name="ParameterName" value="@log_datetime" />        <param name="DbType" value="DateTime" />        <param name="Layout" type="log4net.Layout.PatternLayout">          <param name="ConversionPattern" value="%d{yyyy‘-‘MM‘-‘dd HH‘:‘mm‘:‘ss‘.‘fff}" />        </param>      </param>       <param name="Parameter">        <param name="ParameterName" value="@log_thread" />        <param name="DbType" value="String" />        <param name="Size" value="255" />        <param name="Layout" type="log4net.Layout.PatternLayout">          <param name="ConversionPattern" value="%t" />        </param>      </param>      <param name="Parameter">        <param name="ParameterName" value="@log_level" />        <param name="DbType" value="String" />        <param name="Size" value="50" />        <param name="Layout" type="log4net.Layout.PatternLayout">          <param name="ConversionPattern" value="%p" />        </param>      </param>      <param name="Parameter">        <param name="ParameterName" value="@log_logger" />        <param name="DbType" value="String" />        <param name="Size" value="255" />        <param name="Layout" type="log4net.Layout.PatternLayout">          <param name="ConversionPattern" value="%c" />        </param>      </param>      <param name="Parameter">        <param name="ParameterName" value="@log_message" />        <param name="DbType" value="String" />        <param name="Size" value="10000" />        <param name="Layout" type="log4net.Layout.PatternLayout">          <param name="ConversionPattern" value="%m" />        </param>      </param>     </appender>     <appender name="file" type="log4net.Appender.RollingFileAppender">      <param name="File" value="log\\log" />      <param name="AppendToFile" value="true" />      <param name="RollingStyle" value="Date" />      <param name="DatePattern" value="yyyy-MM-dd" />      <layout type="log4net.Layout.PatternLayout">        <param name="ConversionPattern" value="[%d %l] %m%n" />      </layout>    </appender>    <root>      <level value="ALL" />      <appender-ref ref="ADONetAppender" />    </root>    <logger name="*">      <level value="ALL" />      <appender-ref ref="ADONetAppender" />    </logger>  </log4net> </configuration>   3,添加代碼建立一個類Log4net,代碼如下:     public class Log4net    {        /// <summary>        /// 設定檔log4net.config是否載入        /// </summary>        public static readonly bool IsConfigLoaded = false;        public static string ConfigFileName = "log4net.config";        private static log4net.ILog logger = LogManager.GetLogger(typeof (Log4net));         static Log4net()        {            string path = System.Web.HttpContext.Current.Server.MapPath(ConfigFileName);            if (File.Exists(path))            {                log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(path));                IsConfigLoaded = true;            }        }         public static void Error(string message)        {            if (IsConfigLoaded)            {                              logger.ErrorFormat(message);            }        }         public static void Error(Type type,string message)        {            if (IsConfigLoaded)            {                log4net.ILog logger = LogManager.GetLogger(type);                logger.ErrorFormat(message);            }        }    }  4,添加動態庫的引用。(1)mysql.data.dll,用來串連mysql資料庫的。(2)log4net.dll,功能庫。可以從官網下載dll和源碼。http://logging.apache.org/log4net/download_log4net.cgi 5,使用(1) Log4net.Error(string.Format("{0} 詳細資料為:{1}", ex.Message, ex.ToString()));(2)Log4net.Error(typeof(HomeController), string.Format("{0} 詳細資料為:{1}", ex.Message, ex.ToString()));

 

log4net寫入mysql完整例子

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.