我想使用log4net在数据库中添加日志。

时间:2015-04-28 13:29:18

标签: c#

我在网络服务中完成了以下代码更改。我也添加了log4net库并在web.config中进行了更改。但是还没有插入日志。请帮帮我。

web.config中的更改

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
  <bufferSize value="1" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <connectionString value="server=XYZ;User ID=ABC;Password=PQR!!;Database=DEF"/>
  <commandText value="INSERT INTO [sys_Log] ([log_date]
      ,[thread]
      ,[log_level]
      ,[logger]
      ,[message]
      ) VALUES (@log_date,@thread, @log_level, 
    @logger, @message)" />
   <!--<commandType value="StoredProcedure"/>-->
  <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="AuditLogAppender"/>
        <appender-ref ref="ApplicationLogAppender"/>
    </root>

记录器类的变化 -

 private static log4net.ILog _log;

    public Logger()
    {
        //
        // TODO: Add constructor logic here
        //
    }


    static Logger()
    {
        try
        {

            _log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

            log4net.Config.XmlConfigurator.Configure();

        }
        catch (Exception ex)
        {
            TextLogger.Error("****** Error in ApplicationLogger()*** ", ex);
        }

    }



    public static void Info(string p_logMesg)
    {
        _log.Info(p_logMesg);
    }


    public static void Warning(string p_logMesg)
    {
        _log.Warn(p_logMesg);
    }


    public static void Error(string p_logMesg, Exception p_e)
    {
        _log.Error(p_logMesg + " -> " + p_e.Message, p_e);
    }

    public static void Error(Exception p_e)
    {
        _log.Error(p_e.Message, p_e);
    }

    public static void Error(string p_logMesg)
    {
        _log.Error(p_logMesg);
    }

    public static void Debug(string p_logMesg)
    {
        _log.Debug(p_logMesg);
    }

0 个答案:

没有答案