zoukankan      html  css  js  c++  java
  • Log4net实例(转自http://zjuoliver.blog.163.com/blog/static/5101920084299524443/)

    log4net是一个优秀的开源日志项目,现将本人使用写成一个demo,如下

    0:准备
    去http://logging.apache.org/,可下载log4net,最新为1.2版本,
    建立一个asp.net web 项目,并将log4net.dll添加到引用

    1:建立数据表
    CREATE TABLE [dbo].[Log] (
    [Id] [int] IDENTITY (1, 1) NOT NULL,
    [Date] [datetime] NOT NULL,
    [Thread] [varchar] (255) NOT NULL,
    [Level] [varchar] (50) NOT NULL,
    [Logger] [varchar] (255) NOT NULL,
    [Message] [varchar] (4000) NOT NULL,
    [Exception] [varchar] (2000) NULL
    )

    2:编写配置文件
    <configuration>
    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

    <system.web>
    <!--
    ......
    -->
    </system.web>

    <log4net>

    <root>
    <level value="ALL" />
    <appender-ref ref="ADONetAppender" />
    </root>

    <!--
    <logger name="testApp.Logging">
    <level value="ALL"/>
    <appender-ref ref="ADONetAppender" />

    </logger>
    -->

    <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
    <bufferSize value="10" />
    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <connectionString value="server=localhost;database=demo;user id=sa;password=123456" />
    <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[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>

    </log4net>

    </configuration>

    特别说明<bufferSize value="10" />,这是log信息记录的缓冲大小,(比如只有log信息记录达到10,
    才会将log信息记录写入数据库)

    3:在Global.asax.cs中
    protected void Application_Start(Object sender, EventArgs e)
    {
    //读取配置信息
    log4net.Config.DOMConfigurator.Configure();
    }
    4:一个使用log的demo类
    using System;

    namespace Log
    {
    /// <summary>
    /// MyLog 的摘要说明。
    /// </summary>
    public class MyLog
    {
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(MyLog));
    public static void LogInfo()
    {
    log.Info("log日志");
    }

    public static void LogError()
    {
    log.Info("log错误");
    }
    }
    }

  • 相关阅读:
    DIV+CSS 高手也得看的15个CSS常识
    dl,dt,dd标签 VS 传统table实现数据列表
    弥补Web开发缺陷实战 HTML5 中存储API
    50漂亮的后台管理界面模板
    提升你设计水平的CSS3新技术
    300+Jquery, CSS, MooTools 和 JS的导航菜单资源(总有一个适合你!)
    99款高质量免费HTML/CSS模板(看到了还行,推荐给大家)
    DIV+CSS:如何编写代码才能更有效率
    HTML5和CSS3开发工具资源汇总
    43个实例xHTML+CSS(DIV+CSS)网页及导航布局教程
  • 原文地址:https://www.cnblogs.com/gisdream/p/2012158.html
Copyright © 2011-2022 走看看