AdoNetAppender 参数的默认值

2024-03-04

我将 log4net 与 AdoNetAppender 一起使用。它将所有日志信息记录到表中。该表实际上有 2 个整数列(可以为空)。

这是我的 log4net 配置的相关部分:

<commandText value="INSERT INTO ActivityLog ([Date],[Thread],[Level],[Logger],[Message],[DealID]) 
                 VALUES (@log_date,@thread,@log_level,@logger,@message,@DealID)" />

 //other parameters hten DealID
<parameter>
      <parameterName value="@DealID" />
      <dbType value="Int32" />
       <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{DealID}" />
      </layout>
    </parameter>

我发现如果我没有明确设置使用类似log4net.ThreadContext.Properties["DealID"] = DealID;它引发了我一个例外:

System.FormatException occurred
  Message="Failed to convert parameter value from a String to a Int32."
  Source="System.Data"
  StackTrace:
       at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType)
  InnerException: System.FormatException
       Message="Input string was not in a correct format."
       Source="mscorlib"
       StackTrace:
            at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
            at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
            at System.String.System.IConvertible.ToInt32(IFormatProvider provider)
            at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
            at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType)
       InnerException: 

我必须将其设置为:

log4net.ThreadContext.Properties["DealID"] = 0;

无论如何,我可以在 log4net 配置中为此 Int32 字段设置默认参数值,这样如果没有提供值,我就不需要将其显式设置为 0 吗?这让我想知道为什么设置为 varchar 的字段不会发生这种情况(尽管没有向它们提供任何值)。


更改您的附加程序:

<parameter>
    <parameterName value="@DealID" />
    <dbType value="Int32" />
    <layout type="log4net.Layout.RawPropertyLayout">  <!-- notice this -->
        <key value="DealID" />  <!-- and notice this instead of the pattern layout -->
    </layout>
</parameter>

为了给予信任,我找到了它从这个线程 http://www.l4ndash.com/Log4NetMailArchive/tabid/70/forumid/1/tpage/1/view/topic/postid/15968/Default.aspx。 (还有很多其他搜索试图做同样的事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AdoNetAppender 参数的默认值 的相关文章

  • 关闭 ServiceStack 日志记录

    ServiceStack 的内部日志记录不是我希望在日志中包含的内容 我们如何禁用内部日志记录 或者至少抑制它 这样它就不会堵塞日志 配置 LogManager 时只需将其设置为 NullLogFactory 的实例 LogManager
  • log4net 多个附加程序,写入事件查看器

    我使用 log4net 进行日志记录 我有两个附加程序 一个文件和另一个事件日志附加程序 我在注册表编辑器中注册了应用程序 问题是现在两个记录器都在事件查看器中写入 我需要fileAppender写入文件并eventLogAppender显
  • log4net AdoNetAppender 截断消息文本

    我遇到一个问题 无论我做什么 我的消息字段都会被截断为大约 42k 这是一个简短的片段来说明我的配置
  • 获取类的完全限定名称?

    所有 我有一个 log4net 实现 我正在尝试使用AdoNetAppender 但子元素之一appender配置是connectionType它需要一个完全限定的类名 例如System Data SqlClient SqlConnecti
  • 如何为 C# Windows 服务配置 log4net

    我有一个 Windows 服务 其中 app config 文件和 log4net config 文件是分开的 日志记录不起作用 在我的 app config 文件中 我有以下部分
  • Log4Net配置日志级别

    我该如何制作Log4net http logging apache org log4net index html只记录Info级别的日志 这可能吗 只能设置一个阈值吗 这就是我所拥有的 它按照我的预期记录了信息及以上内容 我能做些什么让它只
  • 温莎城堡的内部日志

    如何记录温莎城堡内部日志 例如 如果我错误配置了 Castle 无法加载连接字符串 我想知道当 Castle 尝试解析连接字符串时是否可以记录错误 我正在使用 Log4Net Facility 并且只能查看应用程序日志 而不能查看 Wind
  • System.Diagnostics.Debug 命名空间与其他日志记录解决方案(log4net、MS Enterprise Library 等)

    我目前正在研究 net 项目的各种日志记录可能性 但我无法在 System Diagnostics Debug Trace 功能和第三方库 如 log4net MS Enterprise Library NLog 等 之间做出决定 目前我已
  • 在受限用户帐户 XP 中运行时,C# 应用程序无法读取/写入管理员创建的文件

    我有一个可供所有用户 管理员或受限用户 在 NET 特别是 C 中使用的应用程序 当应用程序首次启动时 它会在 C Documents and Settings All Users Documents 中创建一些后续启动所需的文件 如果 X
  • Log4net 日志记录不适用于并行线程

    我在随机数上使用基本的 Parallel Foreach 循环来使用 log4net 记录数字本身 这是我在并行线程上记录 5000 条消息的代码 Logger logger new Logger var numbers Enumerabl
  • log4net 用于 IIS 中托管的 WCF 服务库

    对于一个项目 我有一个 WCF 服务库 目前非常简单 它通过 WCF 服务网站项目托管在 IIS 7 5 中 对于该 WCF 服务库 我需要 log4net 来记录一些重大事件 但启动并访问网站后 不会创建任何日志文件 这是我的配置详细信息
  • AdoNetAppender 参数的默认值

    我将 log4net 与 AdoNetAppender 一起使用 它将所有日志信息记录到表中 该表实际上有 2 个整数列 可以为空 这是我的 log4net 配置的相关部分
  • 在asp.net core 3.1中使用log4net和Microknights登录数据库不起作用

    我看过很多文章说 net core 不支持 AdoNetAppender 但我们可以使用 MicroKnights 来做同样的事情 我正在尝试使用相同的方法在 net core 3 1 应用程序中实现数据库日志记录 但仍然没有成功 我放置在
  • Log4Net 部署时不记录日志

    我正在使用 log4net 来记录我的应用程序 这是一个 WPF 应用程序 日志记录在调试模式下运行良好 但不适用于我部署的版本 该应用程序安装在 C Program Files x86 MyApp 中 我使用 InnoSetup 创建安装
  • 为什么 nhibernate 需要 Log4Net?

    我将使用 asp net mvc3 和 nhibernate 3 2 构建我的应用程序 我决定使用 Elmah 记录所有错误消息 我记得 nhibernate 支持 log4net 并用它来记录所有查询 如果我不关心将查询输出到日志文件 我
  • 非常简单的文件附加器日志记录不起作用

    这是我的 web config 信息
  • C# 项目,编译器抱怨缺少对 log4net 的引用

    我正在使用 Visual Studio 2017 构建一个大型 C 项目 解决方案中有 200 多个项目 在编译其中一个项目时 我遇到了很多错误 如下所示 error CS0012 The type BufferingAppenderSke
  • Windows 10 Fall Creators Update (1709) 后,log4net 处理呼叫者位置信息变得非常慢

    我知道 log4net 的文档指出 记录调用者位置信息可能非常慢 除非软件的性能不受影响 否则不应使用 在 Windows 10 秋季创意者更新之前 情况都是如此 这是一个小示例项目 应用程序配置
  • System.IO.FileLoadException:无法加载文件或程序集 Log4net

    我将现有项目添加到我的解决方案中 当我使用 MSTest 运行程序运行所有单元测试时 在几个测试中出现以下错误 消息 测试方法 soandso 抛出异常 System IO FileLoadException 无法加载文件或程序集 log4
  • cf.net 异常和其他日志记录

    我想向在 WM6 Pro 上运行的 cf net 应用程序添加一些日志记录功能 我正在研究记录异常和一些更敏感的代码部分 我希望将日志存储在本地 即在设备上 并将它们可靠地上传到服务器 它们需要排队 我的应用程序偶尔会连接 有谁知道 log

随机推荐

  • CSS:在同一行有3个div,中间的div占据剩余空间

    我正在构建一个工具栏 我希望以下示例中的黄色部分占据整个左侧空间 白色 http jsfiddle net MWjGH 1 http jsfiddle net MWjGH 1 div class left Some content div
  • 一起运行 Tkinter 窗口和 PysTray 图标

    我正在构建一个 tkinter gui 项目 并且正在寻找使用 tkinter 窗口运行托盘图标的方法 我发现 Pystray 库可以做到这一点 但现在我正在尝试弄清楚如何将这个库 托盘图标 与 tkinter 窗口一起使用 我设置了当用户
  • 如何使用 OpenPyXL 设置带标题的列格式

    我正在尝试以日期格式设置某些列的格式 我能够使用以下命令成功更改单个单元格的格式 date style Style number format M D YYYY ws E7 style date style 但是除了标题之外 是否有更简单的
  • 由各种分隔符分割,同时保留分隔符?

    我想分割文本 过公元年 因为无论你如何选择 简体字危及了对古代文学的研究输入 使用这三个 或更多 字符作为分隔符 我当然可以这样做 lines preg split u body 但是我不想让结果行保留其结束分隔符 一个句子也可能这样结束啊
  • 如何检查 Bigquery 上列表的某个项目是否在另一个列表项目中?

    我有一个专栏 比如 11999999999 12999999999 31999999999 和另一列 例如 5511777777777 5512888888888 5531999999999 我想做一个CASE WHEN如果第一列上的任何项
  • model.fit 上的尺寸数量错误

    我正在尝试运行这个 SimpleRNN model add SimpleRNN init uniform output dim 1 input dim len pred frame columns model compile loss ms
  • 使用一个 Iron-ajax 元素处理多个请求

    理论上来说 应该可以使用一个iron ajax通过设置多个请求的元素auto属性 然后重复设置url元素上的属性 iron ajax有一个属性叫做activeRequests 这是一个只读数组 因此它似乎支持同时对多个请求进行排队 但实际上
  • 使用 Ruby 将 XML 请求发送到 Web 服务器

    恐怕我在通过网络服务器发布文档 例如 XML 方面没有太多经验 所以如果我对 HTTP 缺乏了解 我深表歉意 我在 ruby 应用程序中设置了一个基本的 Mongrel Web 服务器127 0 0 1 port 2000 服务器 我在同一
  • MongoDB 服务器无法使用 gitlab-ci 在 gitlab runner 上启动

    现在我正在使用 Ruby 和 Mongo 开发一个应用程序 但是当我使用 gitlab ci 部署应用程序时 我陷入了困境 似乎 mongo 服务器没有在 gitlab runner 的测试环境中启动 这是我的 gitlab ci yml
  • 可变集合有文字语法吗?

    我知道我可以创建一个NSArray with foo bar or an NSDictionary with 0 foo 1 bar 是否有用于创建的文字语法NSMutableArray or an NSMutableDictionary
  • 如何为列表中的 ::marker 添加 CSS 背景?

    我有一个 HTML 有序列表 其结构如下 ol li class myclass First Element li li class myclass First Element li li class myclass First Eleme
  • 将 CSS 对象转换为样式标签

    有时我被迫以编程方式向 DOM 添加 CSS 样式 如果您需要一个理由 想象一下编写一个小型 ui 小部件 它具有自己的样式 但应该仅包含一个 js 文件 以便于处理 在这种情况下 我更喜欢使用对象表示法在脚本代码中定义样式 而不是混合规则
  • 如何使用新的 UDF 功能来创建“动态 SQL 语句”?

    如何使用新的 UDF 功能来创建 动态 SQL 语句 有没有办法使用 UDF 来根据模板和输入变量构造 SQL 语句 然后运行此查询 文档https cloud google com bigquery user definition fun
  • AFNetworking - 下载多个文件+通过 UIProgressView 进行监控

    我正在尝试将代码从 ASIHTTPRequest 更改为 AFNetworking 目前我想选择 10 15 个不同的 HTTP URL 文件 并将它们下载到文档文件夹中 使用 ASIHTTPRequest 就很容易了 myQueue se
  • 将 java 远程调试器端口公开到互联网是否安全?

    我本来打算公开一个端口 用于通过互联网远程调试基于 Java 的 Web 服务 但三思而后行 我意识到它没有任何身份验证 从理论上讲 似乎可以编写一个工具 附加到远程调试器端口 并通过 Java API 执行任意系统命令 或者修改 转储数据
  • Liferay 多对多关系引发类转换异常

    我正在创建一个示例来演示 liferay 中的关系 我正在以图书实体和作者的多对多关系为例 我将按照下面的博客创建此示例 http www liferaysavvy com 2014 01 liferay service builder m
  • 使用 HCITool 宣传蓝牙 LE 服务

    我正在尝试在我的 Linux 计算机上创建蓝牙低功耗外设 目标是通过蓝牙从 iPhone 发送数据 我目前正在使用工具hciconfig hcitool and hcidump 我当前的实验是宣传具有特定 UUID 的服务 iOS Core
  • 在 COBOL 中连接未知长度的字符串

    如何在 COBOL 中将两个长度未知的字符串连接在一起 例如 WORKING STORAGE FIRST NAME PIC X 15 VALUE SPACES LAST NAME PIC X 15 VALUE SPACES FULL NAM
  • 为什么 Haskell 在读取 Num 时似乎默认读取 Int ?

    我没想到下面的代码会起作用 foo Num a gt a gt a foo x x x main do print foo read 7 因为不可能根据代码完全推断出 读为 7 的类型 但 GHC 6 12 3 不这么认为并打印 14 如果
  • AdoNetAppender 参数的默认值

    我将 log4net 与 AdoNetAppender 一起使用 它将所有日志信息记录到表中 该表实际上有 2 个整数列 可以为空 这是我的 log4net 配置的相关部分