问题标签 [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 投票
13 回答
165414 浏览

asp.net - Log4net 不会将日志写入日志文件

我使用 Log4net 创建了一个简单的场景,但似乎我的日志附加程序不起作用,因为消息没有添加到日志文件中。

我在 web.config 文件中添加了以下内容:

在我添加的全局 ASAX 文件中:

在 Application_Start 方法中:

为什么没有将测试日志“正在启动应用程序...”添加到日志文件中?

0 投票
1 回答
567 浏览

log4net - Log4Net 配置偶尔会多次将日期附加到文件名

通常在我们的生产(或类似生产)环境中,Log4Net 会多次将日期附加到我的日志文件中,因此:

这些文件的大小不一致,它们永远不会达到为 maximumFileSize 设置的 10 MB 限制。

这是我的附加程序设置:

0 投票
1 回答
1728 浏览

c# - 以编程方式配置时,log4net RollingFileAppender 不“滚动”

我正在尝试以编程方式在 C# 中创建滚动文件附加程序。我正在使用 Visual Studios 2008。我正在使用 log4net 版本 1.2.0.30714。

我的主要问题是我的滚动文件附加程序就像文件附加程序一样。日志文件不会根据我给它的任何大小或日期标准滚动。以下是我的配置,我将不胜感激任何见解或建议。下面的代码是我尝试过的一些想法。

我注意到删除 StreamWriter 会导致根本没有创建文件,但没有例外。删除文件名会导致 log4net 中出现异常。我尝试同时使用 MaxFileSize 和 MaximumFileSize 都无济于事,并将滚动阶梯更改为 Date 和 Composite。此外,如果编写器流格式错误,它将创建与不包含 File 属性相同的异常({"Value cannot be null.\r\nParameter name: fileName"}{System.ArgumentNullException})。

0 投票
2 回答
1312 浏览

log4net - CustomAppendar 中 LoggingEvent 中的 LocationInformation

我已经编写了 custon Appendar 并覆盖了 Append 方法。我在该方法中获取 LoggingEvent,但是当我查看 LocationInformation 时它是空的,它只显示“?” 在以下属性中。

我做错了什么?

谢谢

0 投票
1 回答
1203 浏览

c# - 为动态电子邮件地址扩展 log4net SmtpAppender

行。我创建了自定义 SmtpAppender 以使用动态To电子邮件地址。

使用 Log4net 给出的示例项目 - 我已经设法使用如下动态电子邮件地址

在我的 自定义 SMTPAppender

此代码在示例应用程序中运行,但是当我尝试在我们的“项目”中使用它时,由于某种原因无法正常工作。

我在 Log4net.config 中有 2 个附加程序。EventLog 按预期工作,但 CustomSmtpAppender 没有发送任何电子邮件。解决此问题的任何方向。

0 投票
1 回答
929 浏览

wix - 在 XmlFile 的值中使用百分比字符

我需要在安装应用程序时使用 XmlFile 元素的 value 属性中的百分比字符来配置 log4net 滚动文件附加程序的路径。

目标是让 log4net 像这样配置

基本的 wix 代码如下所示:

我已经尝试了 [ ] 和 % 等实体([、] 和 %)的各种替换,加倍、三倍、四倍,但该值始终被称为环境变量或导致 ICE03:无效字符串格式。

替换结果如下所示:

有没有办法让 [%processid] 强制作为字符串使其按预期插入?

0 投票
1 回答
18088 浏览

log4net-configuration - 我的 log4net 配置文件有什么问题?

我正在尝试为我的团队编写一个简单的 log4net 包装器,但我无法摆脱我遇到的 log4net 配置错误。

有人可以帮助我吗?

包装类

XML 配置文件 log4net.xml

Log4NET 调试数据(控制台输出)

Log4NET 调试数据(标准错误输出)

调试跟踪

0 投票
1 回答
8259 浏览

log4net - 使用 Log4Net AdoNetAppender 记录大消息

我有一个库,其中有几个 Web 服务调用。现在需要记录对外部 Web 服务的所有请求并记录收到的所有响应。这是为了以后的内部审计。

我的 sql 表看起来像这样。

请注意,Message 字段是存储来自 Web 服务的请求和响应的位置。响应有时非常大,超过 90k 个字符,有时甚至更多。(航班/酒店可用性搜索 - 可能会返回大量数据)

我的 appender 配置如下。

无论如何告诉附加程序我的字段是nText并且可以有任何数量的数据给它?我确实尝试使用字符串为字段长度设置一个非常高的值,但它似乎总是在 454751 的值处截断。
有人遇到过这个问题吗?或者有没有更好的方法使用 log4net 将大消息记录到数据库?任何帮助都感激不尽。

0 投票
1 回答
395 浏览

c# - Log4Net 记录不正确的数据

我有一个 WCF 服务,其中我使用 Log4Net 将信息记录到 Sql Server 数据库。我使用 Log4Net 的 GlobalContext 来记录一些额外的信息,比如事务名称、状态、消息和其他一些东西。该系统中的一些重要事务是读取、写入和登录。

日志应如下所示:

  • “读取” -------- “成功” -------- “读取 xxx 客户数据”
  • “写入” -------- “成功” -------- “写入 xxx 客户的数据”
  • “登录”--------“失败”--------“用户会话已存在。”

当我运行正常测试时,一切正常 - 日志完美地写入数据库。但是,最近我使用 JMeter 进行了负载测试。上面提到的三个事务在 100 个并发线程中测试了 3 分钟。当我检查数据库日志时,我发现有些信息被错误地记录了。

前任:

  • “读取”--------“成功”--------“用户会话已存在。”
  • “写入” -------- “成功” -------- “读取 xxx 客户数据”

这是 Log4Net GlobalContext 不是线程安全的问题吗?我尝试使用 ThreadContext 而不是 GlobalContext,但看起来很多信息没有被记录。

0 投票
1 回答
15141 浏览

c# - log4net 多个附加程序,写入事件查看器

我正在使用 log4net 进行日志记录,我有两个附加程序一个文件和另一个事件日志附加程序。我在注册表编辑器中注册了应用程序,问题现在两个记录器都在事件查看器中写入。我需要fileAppender写入文件并eventLogAppender在事件查看器中显示。

然后在代码中

我尝试了不同的东西,但没有人在工作,有什么解决方案吗?

谢谢!