使用Log4net进行日志管理

http://logging.apache.org/log4net/downloads.html下载log4net的最新版本

在<configuration></configuration>之间加上以下两段:
<configSections>
  <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
 </configSections>

表示日志写到sql server数据库里,在http://logging.apache.org/log4net/release/config-examples.html有各种输出的配置,包括文件、windows日志,各种数据库等配置文件作为参考。以下为数据库的配置:

 <!--</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="2" />
 <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
 
 <connectionString value="data source=.;initial catalog=Mail;integrated security=false;persist security info=True;User ID=sa;Password=web678sql" />

 <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>-->

在AssemblyInfo.cs 上添加[assembly: log4net.Config.XmlConfiguratorAttribute(Watch=true)]

Global文件中添加
protected void Application_Start(Object sender, EventArgs e)
  {
             log4net.Config.XmlConfigurator.Configure();
  }

你可以自己封装log类
如:
using System;
using log4net;


namespace LogTest.Common
{
 /// <summary>
 /// MyLog 的摘要说明。
 /// </summary>
 public class MyLog
 {
  private MyLog()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }

  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错误");
  }
 }
}
在程序中直接调用MyLog.loginfo();就ok了

数据库服务器上创建数据库表,名称与app.config中appender中的一致:

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
)

posted on 2006-07-07 11:43 ldz 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/ldz112/archive/2006/07/07/445045.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值