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

log4net - log4net 与 MS 日志记录应用程序块

我正在尝试了解使用 log4netor 企业库日志记录应用程序块 (LAB) 登录应用程序的利弊。我知道一件事 LAB 使用起来有点困难,然后 log4net。

0 投票
1 回答
2222 浏览

logging - log4net,日志记录,最大的优势是什么

除了很明显你有千兆字节的文本告诉你你的应用程序正在做什么之外,你如何最好地利用你的日志和日志记录工具。我目前没有在我的私人项目中使用任何日志记录,只在发生意外异常时向自己发送电子邮件,我发现这足以满足我的使用需求,我看不出使用 f.eks log4net 的巨大优势。

我的观点是日志很少被使用,会给你带来很大的性能开销和代码混乱,所以我有点不愿意开始使用它。我现在的雇主仍然坚持我们应该在我们的项目中使用 log4net,它显然被使用了很多,所以我需要一些帮助才能看到光明

0 投票
5 回答
12263 浏览

c# - 无法让 Log4Net 在我们的 WCF 应用程序中工作

我们正在尝试使用 Log4Net 从我们的 IIS 6 部署的 WCF 应用程序中记录。我们正在尝试登录文件,但似乎无法创建要创建的日志文件,更不用说查看其中的日志输出了。out web.config 的相关部分是:

使用此配置,我们可以在使用 DebugView 时从应用程序中看到 INFO 级别的日志记录,但很明显,这是来自片段而不是
片段。

是否有我们未能在 web.config 中设置的内容?我们为要写入的日志创建的目录是否存在权限问题?

请指出我们明显的错误。

0 投票
3 回答
2836 浏览

c# - 使用 log4net 记录错误/异常

我正在尝试通过 log4net 将所有异常记录到 sql server 数据库中,我在这里看到了一些解释如何正确配置 web.config 文件的帖子,但我的问题是:记录异常是否足够(应用程序将自动记录,但在这种情况下它不适用于我的应用程序),还是我必须将记录器从代码隐藏调用到 try/catch 语句?

任何建议将不胜感激!

非常感谢, 爱普罗斯

0 投票
4 回答
42401 浏览

c# - 如何在 log4net appender 名称中使用 GlobalContext 属性?

我正在尝试自定义 log4net 文件路径以使用我在log4net.GlobalContext.Properties字典中设置的属性。

通过它进行调试时,我可以看到该值设置正确。然后在我的配置中

然而,这个输出在路径的末尾给了我“_(null).log”。是什么赋予了?

0 投票
4 回答
67493 浏览

c# - 动态设置附加程序文件路径的最佳方法

我试图找到比我更聪明的人来验证我写的一些语法。这个想法是将我的 RollingFileAppender 的文件名配置为程序集的名称,以使其对我的项目更具可重用性。

我已经看过这篇以前的 SO 文章,但它并不能完全回答我的问题......

我有一段时间试图了解 Log4net 的内部组件,这就是我想出的(位于 Global.asax 文件中 - Application_Start 方法):

谁能告诉我,“这太可怕了”,或者“这应该可以正常工作”?另外,如果我动态设置文件,我仍然可以期望 log4net 行为根据 log4net.config 文件设置来轮换文件吗?

非常感激!

0 投票
3 回答
1887 浏览

unit-testing - 通过 CC.NET 运行时 NUnit 测试失败

这个错误的解决方案已经让我好几天了,现在是时候来这里寻求帮助了。简短的版本是,我有一个在构建服务器上失败但没有其他环境的单元测试。

我正在测试的方法是 log4net 中 ILog 的扩展方法。此扩展方法的目的是在调用时制作当前方法的调试日志,并使用它进行调试。执行此操作的代码非常简单。

在这种方法中,我检查是否启用了调试模式,因为如果不应该记录任何内容(由于性能问题),我不想执行 StackTrace。当我测试这个方法时,我将使用 Rhino Mocks 来模拟 ILog 接口并让 IsDebugEnabled 返回 true。

请考虑以下 NUnit 测试方法。

这在我的开发环境(带有 TestDriven.NET 的 Visual Studio 2008)中执行良好。如果我通过 nunit-console.exe 或 nunit-gui 运行测试,它确实执行得很好。如果我使用我的 NAnt 脚本执行测试,它甚至运行良好。

但是,我的构建服务器在通过从 CruiseControl.NET 执行的 NAnt 运行时未能通过此测试。当我在构建服务器上使用 nunit-console.exe 手动运行它时,它会成功。

错误和堆栈跟踪如下。

所以问题是构建服务器认为这个方法有另一个(动态的?)名称。或者更确切地说,是 Rhino Mocks 做出了这个假设?

由于无法在我的开发机器上重新创建它,因此我无法解决此错误。我很高兴我能得到所有的意见。

谢谢!

迈克尔·伦丁

0 投票
5 回答
18149 浏览

.net - log4net 与 TraceSource

这个线程中,许多人表示他们使用 log4net。我是 TraceSources 的粉丝,想知道为什么要使用 log4net。

这就是我喜欢跟踪源的原因:

  • 可插入的侦听器 - XML、TextFile、Console、EventLog,您自己的
  • 可定制的跟踪开关(错误、警告、信息、详细、开始、结束、自定义)
  • 可定制的配置
  • 日志记录应用程序块只是一大组 TraceListeners
  • 活动/范围的相关性(例如,将 ASP.NET 请求中的所有日志与给定客户相关联
  • 服务跟踪查看器允许您分别针对这些活动可视化事件
  • 所有这些都可以在 app.config/web.config 中进行配置。

由于 .NET 框架内部使用 TraceSources,它还为我提供了一种配置跟踪的一致方式 - 使用 log4net,我必须配置 log4net 以及 TraceSources。

log4net 给了我什么 TraceSources 没有(或者无法通过编写几个自定义 TraceListeners 来完成)?

0 投票
6 回答
9450 浏览

log4net - 为什么使用 Log4Net 时文件名上会附加两次日期?

我试图将日期添加到我的日志文件名中,并且通过遵循我在 stackoverflow 中找到的一些建议,我能够使其工作。一切正常,但由于某种原因,第一个文件总是将日期附加两次。

例如,我得到log.2009-02-23.log.2009-02-23.log而不是log.2009-02-23.log

我发现它很奇怪,仅供参考,这是一个非常简单的代码。这不像我让它在多线程环境中运行。

我的 log4net 配置:

任何想法为什么?

编辑:我想添加有关我正在测试的环境的信息。
-asp.net
-.net framework 2.0
-windows server 2003 64-bit service pack 2
-log4net 1.2.10

0 投票
4 回答
4535 浏览

c# - 从 log4net 转发到 NLog

在我当前的项目中,我使用了两个库,其中一个使用 log4net,另一个使用 NLog 进行日志记录。我个人更喜欢 NLog,所以它也用于我的应用程序。

我对 log4net 了解不多,所以我想知道以编程方式将所有消息从 log4net 转发到 NLog 的最佳方法是什么。

NLog 论坛上有一篇关于 log4net 转发器的帖子,但看起来以前没有人这样做过。