asp.net 2.0 使用log4net的方法(access数据库保存)

寻技术 ASP.NET编程 / 其他编程 2023年08月27日 81

官方网站上的配制好像有问题,别的配制应该问题不大了。
注意了:时间插入有问题.这里要用String格试才行(暂时没有找到解决方法).
这个原因暂时还没有找到.
使用最新的log4net.dll (1.2.10)
官方网的配制例子
1. 在ACCESS数据库里跑的 SQL
CREATE TABLE [Log] (
    ID   AutoIncrement,
    [Date] longText,
    [Thread] longText,
    [Level] longText,
    [Logger] longText,
    [Message] longText,
    [Exception] longText,
    Primary   Key   (ID)

)

AssemblyInfo.cs里:[assembly: log4net.Config.DOMConfigurator(ConfigFile="log4netConfig.xml",Watch=true)]
或者
WEB:在Global.asax文件里:Global.asax
void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码
       log4net.Config.DOMConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("log4netConfig.xml")));
    }
下面是:log4netConfig.xml的文件内容
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"/>
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="AdoNetAppender" />
    </root>
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="0" />
      <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db1.mdb;"  />
      <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="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%thread" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@log_level" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%level" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@logger" />
        <dbType value="String" />
        <size value="4000" />
        <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="4000" />
        <layout type="log4net.Layout.ExceptionLayout" />
      </parameter>
    </appender>
  </log4net>
  </configuration>
国际惯例:代码例子(demo)

关闭

用微信“扫一扫”