问题标签 [adonetappender]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
71 浏览

sql - Log4net 不会使用 AdoNetAppender MVC 在数据库中注册

我是 log4net 记录器的新手,我正在尝试使用 AdoNetAppender 创建记录器以将日志保存到数据库。

当我使用简单布局时

并保存到数据库:

它成功保存到数据库;问题是我需要注册更多详细信息(位置、方法、行),但无法将其保存在数据库中。

为此,我使用了以下配置:

对于数据库插入:

我的 C# 代码:

如何将完整的错误详细信息保存在数据库中?

0 投票
2 回答
130 浏览

c# - 如何覆盖 log4net AdoNetAppender 的 CommandText

我正在尝试以编程方式覆盖CommandText. log4net.Appender.AdoNetAppender当我调试它时,该属性似乎已设置,但插入永远不会终止。

CommandText值本身肯定是正确的。如果我将它直接粘贴到 Appender 的配置文件中,它会插入记录。我使用多种其他类型的附加程序,它们也可以完成他们的工作。

我应该如何在运行时覆盖该CommandText属性?

我的 Appender 配置:(commandText 的值基本上是空的。)

0 投票
0 回答
70 浏览

c# - 当 asp.net 应用程序运行时,空日志开始插入数据库,使用 log4net 记录

我正在使用 log4net 按照我到目前为止所遵循的步骤登录 asp.net 应用程序

首先我使用 nudget 包管理器添加 log4net,然后创建一个新的配置文件名“log4net.config”

然后将其添加[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]到程序集文件中。

然后在 log4net.config 我这样配置

然后在控制器类中我创建一个像这样的记录器对象

并像这样使用记录器

它的日志记录完美,但问题是它在以这种方式运行应用程序时重复插入空日志

在此处输入图像描述

并多次插入相同的日志。

谁能指导反复插入空日志和多次插入同一日志的原因是什么?

0 投票
1 回答
2127 浏览

c# - 在 asp.net core 3.1 中使用 log4net 和 Microknights 登录数据库不起作用

我看过很多文章说 .net 核心不支持 AdoNetAppender,但我们可以使用 MicroKnights 来做同样的事情。

我正在尝试使用相同的方法在 .net core 3.1 应用程序中实现数据库日志记录,但仍然没有成功。

我放在根目录下的 log4net.config 文件如下:

我的 startup.cs 文件调用 AddLog4Net() 方法。

我正在尝试登录数据库是这样的,

我不明白我错在哪里,但我尽了最大努力但没有成功。

0 投票
0 回答
36 浏览

c# - log4net 和 MySql - 准备期间未找到参数

我正在尝试基于 log4net 库实现数据库记录器。我需要将我的日志写入 MySql 数据库。当我将一些硬编码值记录到我的日志表中时,一切都很好。当我尝试将至少一个参数传递给我的查询时,log4net 开始抱怨“准备期间未找到参数'@message'”。我发现了一个丑陋的解决方法,我实现了自己的 AdoNetAppender,并在其中将我的值传递给查询。但正如我所说,这是肮脏且不安全的解决方案。我想避免这种情况。我花了一整天的时间,我没有更多的想法如何以干净的方式解决它。

我的项目设置如下:Net Core 3.1、log4Net 2.0.12。

你知道为什么它不起作用吗?

先感谢您!

在我的代码下面:

解决方法:我使用了一些预定义的字符串,而不是查询中的@message 参数,并将其替换为自己的 AdoNetAppenderParameter。我意识到它不能像这样工作......