问题标签 [log4net]

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 回答
1420 浏览

logging - 如何在实用程序类中获取辅助方法以在 log4net 中使用其调用者记录器?

我有一个可执行文件,取决于提供的命令行开关,它看起来像:

程序.cs -

摘要DiskSpaceReporter.cs

详细的DiskSpaceReporter.cs

助手.cs

在我的 log4net 配置中,我有两个单独的记录器,每个记录器用于 SummaryDiskSpaceReporter 和DetailedDiskSpaceReporter,因为它们的记录要求不同:

SummaryDiskSpaceReporter 和DetailedDiskSpaceReporter 都调用Helpers 类中的帮助器方法。我想将一些日志记录到辅助类方法中。

所以...问题是,如何让 Helpers.CreateMessage() 方法使用与其调用者相同的记录器?

IE

SummaryDiskSpaceReporter.Run() -> 使用 DiskSpaceReporting.SummaryDiskSpaceReporter 记录器DetailedDiskSpaceReporter.Run() -> 使用 DiskSpaceReporting.DetailedDiskSpaceReporter 记录器。

干杯凯夫

0 投票
6 回答
2566 浏览

.net - 在应用程序中记录多少,多少是太多?

只是想知道有多少人在他们的应用程序中登录???

我见过这个:

“我通常喜欢使用 ERROR 日志级别来记录应用程序捕获的任何异常。我将使用 INFO 日志级别作为“第一级”调试方案,以便在我进入或退出方法时显示。从那里我使用DEBUG 日志级别来跟踪详细信息。FATAL 日志级别用于我在基于 Web 的应用程序中未能捕获的任何异常。

其中有这个代码示例:

但这似乎给方法增加了很多。例如,一个通常可能是 7 行代码的类突然变成了 12 行代码。该方法也失去了一些清晰性和简单性。

但话说回来,进行日志记录的好处可能是好的。例如,生产系统中的性能监控,追踪生产中的异常错误(并不是说您会一直打开所有这些日志记录。

因此,我想知道人们在做什么?干杯安东尼

0 投票
1 回答
1625 浏览

log4net - log4net 打开数据库连接

我正在使用 AdoNetAppender 写入 SQL Server 2005 数据库表。我将 bufferSize 设置为 1,以便立即写入条目。

我的 DBA 担心 log4net 保持其数据库连接处于打开状态。我们今天有大约 50 个与数据库的连接,但只有 22 个日志条目。在某些情况下,来自同一个客户端的多个连接具有不同的登录时间。

在我看来,连接池不起作用,或者我没有在代码中释放资源。我应该如何解决这个问题?

0 投票
2 回答
982 浏览

log4net - 如何让 log4net 的 SmtpPickupDirAppender 使用 IIS 拾取目录?

由于我部署到的实时服务器的性质,我的邮件设置使用 deliveryMethod="PickupDirectoryFromIis"。我正在使用 log4net 通过电子邮件发送日志,我需要找到一种让它做同样事情的方法。

我可以从文档中看到有一个 SmtpPickupDirAppender,它有一个pickupDir 设置。如果我将此设置为 IIS 使用的任何拾取目录,我确信一切都会正常工作。但是我真正想要的只是告诉 log4net 使用 IIS 的设置并将其留在那里。这样,如果它发生变化,我们也不必更改 log4net 配置,我们可能会忘记这一点。有没有办法做到这一点?

0 投票
4 回答
59167 浏览

xml - 如何将 RollingFileAppender 配置为使用 log4net 按日期和大小滚动?

我将 log4net 配置为使用复合 RollingFileAppender 以便当前文件始终命名为logfile.log并且所有后续文件都命名为logfile-YYYY.MM.dd.seq.log其中seq是如果日志超过特定大小的序列号一天之内。不幸的是,我在配置这样的设置方面收效甚微。

编辑:

我当前的配置粘贴在下面。它已经根据几个答案进行了更新,这些答案让我足够接近我的需求。这会生成以下格式的文件:logfile_YYYY.MM.dd.log.seq

一个有趣的笔记,设置

为 true 会导致记录器不写入任何文件。

0 投票
1 回答
1679 浏览

unit-testing - 模拟对象、nUnit、调用日志和 log4net

一个很常见的单元测试场景如下:

... 使用 MockFoo 通过仅将字符串附加到调用日志来实现 IFoo 接口。它需要在模拟中使用 callLog 进行大量代码处理。

使用 log4net 收集通话记录是个好主意吗?

0 投票
5 回答
4108 浏览

.net - Log4Net 或日志记录应用程序块

我的应用程序中需要一个日志框架。我有两个候选人:Log4Net 和从应用程序块记录。哪个更好?对他们中的任何一个有什么特别的好处吗?

谢谢

0 投票
6 回答
2636 浏览

.net-2.0 - 为什么 Log4Net 在我的 Windows 服务中运行如此缓慢?

我有一个使用 log4net 的 Windows 服务。我们注意到有问题的服务运行缓慢,因此我们在其上附加了一个调试器并单步执行。似乎每次它尝试通过 log4net 将条目写入日志时,都需要 10 到 30 秒才能执行下一行代码。显然这加起来...

该服务是 2.0 .net 我们使用的是 log4Net 1.2.0.30714。我们已经在运行 vista 的机器和运行 win sever 2003 的机器上对此进行了测试,并看到了相同或相似的结果。

0 投票
2 回答
629 浏览

.net - 我应该在我的版本中分发 log4net 吗?

我想知道在依赖关系方面什么是最佳实践以及应该如何完成发布。就我而言,我有一个依赖于 log4net 的库,我想知道是否应该将 log4net.dll (将 log4net 引用设置为复制本地)与发行版一起分发?

我可以简单地说 log4net 应该安装在 GAC 中吗?

0 投票
4 回答
2071 浏览

asp.net - log4net - 希望为每个 Web 应用程序用户创建一个日志文件

我们在我们的 Asp.Net Web 应用程序中使用 log4net(替换 nLog)。nLog 有一个有用的特性,它允许我们为每个用户创建一个日志文件——这有助于组织和定位日志语句。

有人对如何使用 log4net 执行此操作有任何想法吗?