Log4net 记录到 Oracle 在记录到数字字段时抛出错误?
Log4net logging to Oracle throwing error when logging to Number fields?
我已经和这个问题斗争了很长一段时间。当我尝试登录到 Oracle 11g 数据库中的 Number(38,0) 字段时。我收到此错误:
log4net:ERROR [AdoNetAppender] ErrorCode: GenericFailure. Exception
while writing to database System.FormatException: Input string was not
in a correct format. at System.Number.StringToNumber(String str,
NumberStyles options, NumberBuffer& number, NumberFormatInfo info,
Boolean parseDecimal)
<parameter>
<parameterName value=":my_param" />
<dbType value="Int32" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{my_param}" />
</layout>
</parameter>
我试过设置 Int32 的大小。我已经尝试过 decimal 和 decimal 设置比例和精度。我不确定还能做什么,但我知道当前的值是数字。
这里是一些调用记录器进行记录的代码,以及默认值所在的位置。
log4net.LogicalThreadContext.Properties[":my_param"] = 132;
log.Info("Application Start"); //Error occurs here in the output window
您想在将 my_param 属性 添加到 LogicalThreadContext 时删除该冒号。
即
log4net.LogicalThreadContext.Properties["my_param"] = 132;
目前您对 %属性 语法的使用与您要添加的 属性 的名称不匹配。
我已经和这个问题斗争了很长一段时间。当我尝试登录到 Oracle 11g 数据库中的 Number(38,0) 字段时。我收到此错误:
log4net:ERROR [AdoNetAppender] ErrorCode: GenericFailure. Exception while writing to database System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
<parameter>
<parameterName value=":my_param" />
<dbType value="Int32" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{my_param}" />
</layout>
</parameter>
我试过设置 Int32 的大小。我已经尝试过 decimal 和 decimal 设置比例和精度。我不确定还能做什么,但我知道当前的值是数字。
这里是一些调用记录器进行记录的代码,以及默认值所在的位置。
log4net.LogicalThreadContext.Properties[":my_param"] = 132;
log.Info("Application Start"); //Error occurs here in the output window
您想在将 my_param 属性 添加到 LogicalThreadContext 时删除该冒号。
即
log4net.LogicalThreadContext.Properties["my_param"] = 132;
目前您对 %属性 语法的使用与您要添加的 属性 的名称不匹配。