Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Log4net AdoNetAppender未保存到数据库_Asp.net_Asp.net Mvc_Log4net_Log4net Configuration - Fatal编程技术网

Asp.net Log4net AdoNetAppender未保存到数据库

Asp.net Log4net AdoNetAppender未保存到数据库,asp.net,asp.net-mvc,log4net,log4net-configuration,Asp.net,Asp.net Mvc,Log4net,Log4net Configuration,我的AdonNetAppender有问题-只是没有记录。我已经浏览了log4net手册和其他各种链接,但看不出我做错了什么。下面是我的配置文件,我如何称呼它,所以任何帮助将不胜感激 <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <bufferSize value="1" /> <connectionType value="System.Data.SqlClien

我的AdonNetAppender有问题-只是没有记录。我已经浏览了log4net手册和其他各种链接,但看不出我做错了什么。下面是我的配置文件,我如何称呼它,所以任何帮助将不胜感激

<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="***" />
  <commandText value="dbo.spx_CreatePageLog" />
  <commandType value="StoredProcedure" />
  <!--<parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout">
      <conversionPattern value="%message" />
    </layout>
  </parameter>-->
  <parameter>
    <parameterName value="@HTTPMethod" />
    <dbType value="String" />
    <size value="10" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@URI" />
    <dbType value="String" />
    <size value="512" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%URI{URI}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@RequestData" />
    <dbType value="String" />
    <size value="1024" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%RequestData{RequestData}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@UserID" />
    <dbType value="int" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%UserID{UserID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@UserToDealerID" />
    <dbType value="int" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%UserToDealerID{UserToDealerID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@AdminID" />
    <dbType value="String" />
    <size value="256" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%AdminID{AdminID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@SessionID" />
    <dbType value="String" />
    <size value="256" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%SessionID{SessionID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@BrowserInfo" />
    <dbType value="String" />
    <size value="1024" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%BrowserInfo{BrowserInfo}" />
    </layout>
  </parameter>
  <!--<parameter>
    <parameterName value="@exception" />
    <dbType value="String" />
    <size value="2000" />
    <layout type="log4net.Layout.ExceptionLayout" />
  </parameter>-->
</appender>
<root>
  <level value="DEBUG" />
  <appender-ref ref="AdoNetAppender" />
</root>

string RequestData=auditModel.ParameterValues.GetDictionaryIntoString();
字符串BrowserInfo=auditModel.BrowserInfo.GetDictionaryIntoString();
//log4net.LogicalThreadContext.Properties[“HTTPMethod”]=auditModel.Method;
log4net.GlobalContext.Properties[“URI”]=auditModel.RequestUrl;
log4net.GlobalContext.Properties[“RequestData”]=RequestData;
log4net.GlobalContext.Properties[“UserID”]=auditModel.UserID;
log4net.GlobalContext.Properties[“UserToDealerID”]=auditModel.UserToDealerID;
log4net.GlobalContext.Properties[“AdminID”]=auditModel.AdminID;
log4net.GlobalContext.Properties[“SessionID”]=“123456”//auditModel.SessionID;
log4net.GlobalContext.Properties[“BrowserInfo”]=BrowserInfo;
调试(auditModel.Method);

您正试图使用存储过程在数据库中存储Log4Net日志。 根据你所拥有的,我只能想到这两件可能导致问题的事情

1) conversionPattern的值不正确。见下文:

   <parameter>
    <parameterName value="@HTTPMethod" />
    <dbType value="String" />
    <size value="10" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@URI" />
    <dbType value="String" />
    <size value="512" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{URI}" /> <- here use property instead of "UserID"
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@RequestData" />
    <dbType value="String" />
    <size value="1024" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{RequestData}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@UserID" />
    <dbType value="int" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{UserID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@UserToDealerID" />
    <dbType value="int" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{UserToDealerID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@AdminID" />
    <dbType value="String" />
    <size value="256" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{AdminID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@SessionID" />
    <dbType value="String" />
    <size value="256" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{SessionID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@BrowserInfo" />
    <dbType value="String" />
    <size value="1024" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{BrowserInfo}" />
    </layout>
  </parameter>
有关更多信息,请阅读以下文章:


希望这有帮助。

我该把它放在哪里?
   <parameter>
    <parameterName value="@HTTPMethod" />
    <dbType value="String" />
    <size value="10" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@URI" />
    <dbType value="String" />
    <size value="512" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{URI}" /> <- here use property instead of "UserID"
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@RequestData" />
    <dbType value="String" />
    <size value="1024" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{RequestData}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@UserID" />
    <dbType value="int" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{UserID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@UserToDealerID" />
    <dbType value="int" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{UserToDealerID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@AdminID" />
    <dbType value="String" />
    <size value="256" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{AdminID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@SessionID" />
    <dbType value="String" />
    <size value="256" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{SessionID}" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@BrowserInfo" />
    <dbType value="String" />
    <size value="1024" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{BrowserInfo}" />
    </layout>
  </parameter>
 Logger.Debug(auditModel.Method);