log4net for mysql

MySql 日志记录表结构

 

 

Web.config 文件配置

<configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>

        <appender name="AdoNetAppender_MySql" type="log4net.Appender.AdoNetAppender">

             <!--千万注意这里的name不能为AdoNetAppender,或者说是与后面Type的类型相同,就因为这个问题,我花了少功夫找问题.最后终于在某人blog中看到这样的提示.改名后就OK了.-->

            <bufferSize value="100"/>
            <param name="ConnectionType" value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data"/>
            <param name="ConnectionString" value="database=XX;server=XX;user id=XX;password=XX;old syntax=yes"/>
            <commandText value="INSERT INTO mylog111 (log_datetime,log_thread,log_level,log_logger,log_message,Exception) 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="255"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%thread"/>
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@log_level"/>
                <dbType value="String"/>
                <size value="50"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%level"/>
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@logger"/>
                <dbType value="String"/>
                <size value="255"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%logger"/>
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@message"/>
                <dbType value="String"/>
                <size value="4000"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%message"/>
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@exception"/>
                <dbType value="String"/>
                <size value="2000"/>
                <layout type="log4net.Layout.ExceptionLayout"/>
            </parameter>
        </appender>
        <root>
            <level value="ALL"/>
            <appender-ref ref="AdoNetAppender_MySql"/>
        </root>

    </log4net>

 

global.asax

[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "log4net", Watch = true)]
    void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码
        log4net.Config.XmlConfigurator.Configure();

    }

 

使用:

public partial class Log4NetTest_Default2 : System.Web.UI.Page
{
    private static readonly ILog log = LogManager.GetLogger(typeof(Log4NetTest_Default2));
    protected void Page_Load(object sender, EventArgs e)
    {
        log.Info("loading...");
    }

}



以上,只是作为个人学习中的一点小注意.希望能帮到您.

posted on 2008-08-18 22:32  重庆仔  阅读(1295)  评论(1编辑  收藏  举报

导航