问题标签 [log4net-appender]

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 投票
0 回答
614 浏览

c# - 推送列表数据到 Log4Net 中的 logger.Info

我有一个庞大的数据列表,比如 5k 值,我想将它们推送到 log4net 的 logger.Info 中。

如果有单独的字符串值,我可以这样做并相应地修改转换模式,但现在我想将所有这些值推送到列表中,因此无论如何我都可以这样做。

另外,我也需要修改转换模式。对于转换模式,我可以使用 for 循环创建一个字符串并覆盖 Patternlayout 类并为所有 5k 值设置转换模式,但是如何将这些值从 List 放入这些值?

0 投票
1 回答
26250 浏览

c# - Log4Net 自定义附加程序:如何记录将使用自定义附加程序写入的消息?

问题已解决 - 我用正确的代码编辑了这篇文章。

我正在尝试编写初始化 log4net 记录器 + 附件到自定义附加程序并发送消息的“主”函数 - 这是我的尝试(不幸的是没有成功)

我的初始化有什么问题(下面的 Form1.cs)?

错误消息-Exception = {“无法加载文件或程序集'MessageBoxAppender'或其依赖项之一。系统找不到指定的文件。”:“MessageBoxAppender”} [IMG] http://i57.tinypic.com/qrjcjc .png[/IMG]

我尝试使用以下链接中的自定义附加程序代码编写日志消息

http://www.alteridem.net/2008/01/10/writing-an-appender-for-log4net/

我的目标是单击一个按钮,然后一条日志消息将写入自定义附加程序。

我有 3 个文件/类。

1.Form1.cs windows form – 只包含一个按钮,应该写一个消息和初始化。

2.“MessageBoxAppender.cs” - 继承自“AppenderSkeleton”的自定义附加

3.app.config - 用于 log4net 配置

应用程序配置

MessageBoxAppender 自定义追加器

  1. 我不确定 app.config 中的这一行是否正确 -已回答

    /li>

是约定是

[编辑]我添加到我的代码中:

0 投票
3 回答
1689 浏览

c# - log4net 不同附加程序的不同消息,在文件中创建重复的日志条目

我已经为 log4net 实现了一个自定义附加程序,我正在其中记录到文件并发送邮件。我想为每种情况记录不同的消息字符串。下面的代码在文件中创建了两个日志条目,一个带有附加字符串,一个没有附加字符串。它还发送没有附加字符串的电子邮件。

但我不想在我做的时候登录到文件。

我的配置文件,一个附加程序是使用配置文件添加的,另一个附加程序是一个 dll,所以它是在运行时添加的。

第一个附加程序:

第二个附加程序(在运行时添加):

0 投票
1 回答
86 浏览

c# - 如何创建动态 log4net 设置

我正在尝试为 log4net 创建动态设置。我需要为不同的实例发送日志,但我不知道它们的编号。是否可以在 C# 代码中创建所有这些?

0 投票
1 回答
4994 浏览

log4net - Log4net preserveLogFileNameExtension 不起作用

这是我的 log4net 配置,翻转日志文件创建的扩展名错误。以 log_debug.txt 为名称创建的第一个文件和以 log_debug.txt.1 创建的翻转文件。但理想情况下它应该是 log_debug.1.txt。

我使用 preserveLogFileNameExtension 值为 true,但它似乎不起作用。你能检查一下,如果有什么问题让我知道吗?

0 投票
1 回答
136 浏览

logging - 发生字符串匹配时,log4net SMTP 附加程序包括以前的日志条目

我正在尝试为 log4net 设计一个 SMTP appender 配置,当发生特定字符串匹配时,它将发送一封包含先前日志条目的电子邮件。用例是我们有一个每天都在运行的进程。我有一个 SMTPAppender 可以监视错误并且工作正常。但是我想要另一个 SMTP 附加程序,它在程序完成运行时监视“程序成功”消息,并向我们的操作人员发送一封电子邮件,其中包含运行的所有日志条目,如下所示:

这是我为 appender 准备的模板

0 投票
1 回答
1165 浏览

c# - 如何在 log4net.config 中设置自定义值

我在另一个 dll 中有一个自定义附加程序,我想在 log4net.config 文件中设置一个值“Element.MachineName”。

它适用于静态值,例如:<appName ="SomeName" />但是如何使用 Element.MachineName 设置此值?

0 投票
0 回答
267 浏览

log4net - Log4Net - 将appneders注释掉会很好吗

在我的应用程序中,我有一个单独的文件附加程序用于错误和(信息和调试)。在生产中,我只想记录错误并禁用信息和调试日志。考虑到性能,将保持附加程序的好​​方法,还是对性能不利

  1. 保留附加程序,但在“root”标签内将日志级别值更改为 WARN

    /li>
  2. 从“根”标签中注释掉信息附加器

    /li>

我的逻辑说#2更好,因为如果我们保持启用它(如#1)Log4net将初始化appender,然后对于每个日志语句,它将比较日志语句中的日志级别与appender允许的日志级别和然后决定是否记录它。通过使用#2,我们可以避免这个循环和额外的执行,因为信息附加器根本不会被初始化。

我的信息附加程序的日志级别设置为

我的问题是我从性能角度的理解是否有效?或者,对于 log4net 来说并不重要,或者 log4net 可能不会初始化信息附加程序,因为它的日志级别与根记录器级别不匹配,即。警告

0 投票
1 回答
2506 浏览

asp.net-mvc-5 - log4net 的 SQL 附加程序在 MVC5 应用程序中不起作用

我无法让 log4net 将任何内容实际记录到我的数据库中。首先,我将 log4net 添加到我的项目(MVC)中。然后我在 AssemblyInfo.cs 中添加了这个

在 Global.asax.cs Application_Start 中,我以

我添加了以下模型:

我将此添加到 ApplicationDbContext:

在 web.config 中,我在 configSections 元素中添加了这个:

然后我将它创建为 web.config 中配置元素的子元素:

但即使有 log.Debug 条目,也没有附加任何内容。我尝试将缓冲区设置为 5 作为测试,但没有结果。然后我添加了一个方法来刷新缓冲区,没有结果。并且级别设置为最大值(DEBUG)。

我在这里还缺少什么?

0 投票
0 回答
70 浏览

.net - Log4net 中每个记录器一个文件

我想配置一个 FileAppender (或类似的),将来自每个不同记录器的消息保存到不同的文件,最好命名为记录器。问题在于记录器的数量及其名称是在应用程序初始化期间确定的。我真的很感激任何解决方案......如果我不必编写自己的附加程序,那就更好了。

提前致谢!