Asp.net Log4net AdoNetAppender未保存到数据库
我的AdonNetAppender有问题-只是没有记录。我已经浏览了log4net手册和其他各种链接,但看不出我做错了什么。下面是我的配置文件,我如何称呼它,所以任何帮助将不胜感激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
<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);