问题标签 [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 回答
4087 浏览

asp.net - log4net 不记录 ThreadContext

我在我的 AsP.NET 站点上运行 log4net。我可以将消息记录到我的数据库表中,但它没有记录 ThreadContext 属性。例如:

我的 log4net.config 将这些值作为参数添加到我的 SQL DB 表中:

当我调试时,我看到那些 ThreadContext 属性正在设置,但它们没有进入数据库。

我怎样才能让它工作?

0 投票
10 回答
192050 浏览

java - 设置日志文件名以在 Log4j 中包含当前日期

我想将 log4j 和 log4net appender 的日志文件名设置为当前日期。我们正在进行每日翻转,但当前日志文件没有日期。日志文件名格式为

有人知道我这样做的最佳方法吗?

编辑:我忘了提到我们也想在 log4net 中这样做。另外,任何解决方案都需要在 JBoss 中可用。

0 投票
5 回答
7095 浏览

performance - log4net 是否比 System.Diagnostics.Trace 慢得多?

我正在研究使用 log4net 和System.Diagnostics.Trace进行日志记录之间的差异,我很好奇我观察到的性能差异。

我创建了一个测试应用程序来比较两种日志记录方法在几种情况下的性能,我发现 log4net 明显比Trace类慢。例如,在我记录 1,000 条没有字符串格式的消息的情况下,log4net 超过 1,000 次试验的平均执行时间为 9.00 毫秒。 Trace平均执行时间为 1.13 毫秒。我的很多测试用例在 log4net 执行时间上都有相对较大的差异;异常长时间执行的周期性性质似乎表明 GC 干扰。使用 CLR Profiler 确认log4net.Core.LoggingEvent生成了大量对象的大量集合(公平地说,它看起来也Trace生成了大量Char[]对象,但它并没有显示 log4net 的大差异。 )

我在这里要记住的一件事是,即使 log4net 看起来比 慢大约 9 倍Trace,但在 1,000 次迭代中差异是 8 毫秒;这并不是一个显着的性能消耗。尽管如此,我的一些预期用例可能会调用记录数十万次的方法,这些数字来自我的快速机器。在较慢的机器上,我们的用户配置更典型,差异是 170 毫秒到 11 毫秒,这有点令人担忧。

这种性能是 log4net 的典型表现,还是有一些可以显着提高 log4net 性能的陷阱?

注意:我知道字符串格式化会改变执行时间;我正在尝试将苹果与苹果进行比较,并且我有没有格式化的测试用例和带格式化的测试用例;无论是否使用字符串格式化,log4net 的速度都会保持成比例。 )

到目前为止的故事:

  • 罗伯特·古尔德(Robert Gould)对这个问题有最好的答案;我主要是好奇 log4net 的执行速度是否比Trace课堂慢得多。
  • Alex Shnayder 的回答是有趣的信息,但并不真正属于问题的范围。引入此日志记录的一半目的是帮助调试实时系统上的逻辑和性能问题;我们的客户将我们的产品置于许多奇特的场景中,如果没有昂贵的大规模硬件配置,这些场景通常很难重现。我主要担心的是“不记录”和“记录”之间的较大时间差异可能会影响系统,从而不会发生错误。最后,性能下降的规模很大,但幅度很小,所以我希望它不会成为问题。
0 投票
5 回答
2686 浏览

logging - .NET Compact Framework 的日志库?

任何支持 .NET 紧凑框架的好的日志库?

0 投票
4 回答
6505 浏览

sharepoint - SharePoint 和 Log4Net

我正在寻找将 log4net 集成到 SharePoint 以进行 Web 请求、功能激活和所有计时器的最佳实践。

我的农场中有几个子项目,我希望只有一个 Log4Net.config 文件。

[编辑]
我不仅需要为 Web 应用程序配置 log4net,这很容易做到(我使用 global.asax 和 log4net.config 文件,因此我可以修改日志设置而无需重新加载 webapp),而且我还需要记录异步事件:

  • 事件处理程序(如 ItemAdded)
  • 计时器作业
  • ...
0 投票
6 回答
37116 浏览

vb.net - 如何配置 log4net 以使 log.IsDebugEnabled 为真?

我正在尝试在带有 Visual Studio 2005 的 ASP.NET 应用程序中使用 log4net。我已经声明了一个记录器的实例,如下所示:

我正在尝试以下列方式使用它:

这是我的配置:

不幸的是,log.IsDebugEnabled总是假的。
如何配置 log4net 以便仅记录调试消息?

0 投票
2 回答
2089 浏览

log4net - 混合 log4cxx 和 log4net

我有一个 c++ 应用程序,它使用 log4cxx(RollingFile appender)记录到某个文件。我想同时从另一个用 c# 编写的模块登录到同一个文件;所以我将 log4net 配置为使用相同的文件,但我无法获取新消息。如果我停用 c++ 日志记录,我可以看到 c# 消息。所以我认为这是一个锁定问题,并寻找一个配置选项来告诉 log4cxx 不要锁定文件。我进入了 log4net 的 MinimalLock 模型,但在 log4cxx 中找不到任何东西......有人知道它是否可以完成,以及如何完成?

提前致谢,

埃内斯托·卡伦

0 投票
1 回答
2636 浏览

log4net - 如何使用 Log4net RolloverFileAppender 在应用程序启动时强制翻转?

在我们的应用程序中配置 Log4Net 以使用带日期标记的名称和 10Meg 文件大小限制。
这会在午夜和达到 10Meg 限制时自动导致翻转到新文件。每次启动(或关闭)应用程序时,我还想将日志记录滚动到一个新文件。
我可以得到所有三个翻转行为吗?

0 投票
9 回答
15791 浏览

asp.net - log4net 与 ASP.NET 3.5 问题

我在让 log4net 从 ASP.NET 3.5 工作时遇到了一些麻烦。这是我第一次尝试使用 log4net,我觉得我错过了一块拼图。

我的项目引用了 log4net 程序集,据我所知,它已成功部署在我的服务器上。

我的 web.config 包含以下内容:

我正在使用以下代码来测试记录器:

在我的 Global.asax 中,我正在执行以下操作:

在这一点上,我想不出我可能做错了什么。我试图存储登录的目录是可写的,即使我尝试不同的目录,我也会得到相同的结果:没有文件,没有日志。

有什么建议么?:-)


编辑:我为日志文件的路径和名称尝试了几种不同的格式,其中一些包括“..\..\InfoLog.html”、“InfoLog.html”、“logs\InfoLog.html”等,以防万一有人想知道这是否是问题所在。


编辑:我已将根记录器节点添加回 log4net 部分,我在从示例中复制时无意中忽略了这一点。根记录器节点如下所示:

然而,即使有了它,我仍然没有运气。

0 投票
2 回答
371 浏览

.net - 人们在记录时捕获的字段 - log4net

我有兴趣了解人们在使用 log4net 等记录器时在其应用程序中记录时实际捕获和使用的字段。

这可以从调试到测试再到生产,可以用于胖客户端应用程序,但我更多地考虑 Web 应用程序的语义(即 asp.net)。

此外,在 Web 的上下文中(以及在一定程度上对于胖客户端),我对人们如何为给定请求构建日志整体的层次结构以及如何识别单个请求等感兴趣。

干杯安东尼

以下是我到目前为止所拍摄的内容:

LogId、ServerName、ServerIP、ApplicationAbbrv、ApplicationVersion、ApplicationAppDomain、LogDateTime、LogTimeStamp、LogLogger、CodeType、CodeClass、CodeFile、CodeLocation、CodeMethod、CodeLine、CodeStackPosition、LogMessage、LogException、LogEntityOrigin、ContextSessionId、ContextUserName、ContextThread、ContextObjectPropertyData、ContextMachineId、ContextMachineIP