问题标签 [rollingfileappender]

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 投票
4 回答
59167 浏览

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

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

编辑:

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

一个有趣的笔记,设置

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

0 投票
3 回答
5189 浏览

log4net - 强制 Log4Net RollingFileAppender 滚动

根据Log4Net 文档,RollingFileAppender 只会在记录消息时滚动日志文件。我需要登录到这个文件,但每天都将它导入另一个数据库。我不能使用数据库附加程序,因为我需要这些文件,并且我必须将数据从日志文件转换到数据库(它不是直接副本)。问题是如果午夜之后没有日志活动,则日志不会滚动。导入器查找前几天的文件(我无法更改此代码),因此如果没有活动且日志未滚动,则导入器找不到该文件。无论如何,是否有强制日志在午夜滚动而没有另一个线程唤醒并强制它滚动?自定义附加程序可以做到这一点吗?如果可能的话,我想避免这种情况。

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 投票
5 回答
32430 浏览

log4net - Log4Net:滚动文件附加器,定义扩展

我希望我的日志文件看起来像这样:2009-02-13.log

但问题是我似乎找不到任何添加 .log 扩展名的方法。

我已经尝试了很多东西,但没有任何帮助。这就是我到目前为止所拥有的:

0 投票
2 回答
35600 浏览

logging - 具有复合滚动样式的 Log4Net RollingFileAppender 正在覆盖数据

我有一个 Log4Net RollingFileAppender 配置为:

查看文档默认滚动样式是 Composite,所以当它达到一定大小(默认为 10MB)时,它会滚动,而不仅仅是日期。

问题是当它达到大小时,它正在重新启动日志并且我正在丢失前半天的数据(它在中午左右达到这个大小)。
为什么这不只是滚动到一个新文件并将所有未来的日志行放入 MyLog.log 中?还是日志正在滚动,但在午夜,它再次滚动并覆盖过时的日志(例如,一旦达到 10MB,滚动到 MyLog.log2009-04-08,然后在午夜覆盖同一个文件)?

我将设置

这是我必须做的所有事情来确保它只在日期边界上滚动吗?我可以在 Log4Net.config 中即时更改它,还是必须重新启动应用程序?它在 IIS6 上运行。

0 投票
6 回答
4610 浏览

performance - Log4Net 有问题吗?

几年来,我一直在一些高流量网站上使用 Log4Net,我不能说我是一个满意的客户。所以,想看看其他人是否有同样的担忧:

  1. RollingFileAppendor 的 CPU 开销是巨大的。我的一些网站每天需要跟踪 5-10GB,当我启用日志记录时,CPU 利用率会增加一倍以上。我想避免讨论为什么需要如此多的追踪。一些关键任务应用程序必须跟踪每笔交易的每一步。

  2. 按日期滚动通常是不可靠的(它在白天记录正常,但在午夜左右弄乱了最后一天的日志文件)。这种行为是不一致的。我似乎在网上抱怨这个问题的人不止一些,而且似乎没有人有一个好的解决方案。

  3. 最后但同样重要的是,在过去的三年中,我没有在 Apache 网站上看到任何新版本。所以,这开始看起来像是一个废弃的开源项目,这通常意味着是时候转向一些替代框架了。

因此,我正在考虑放弃 Log4Net 以支持 Microsoft Enterprise Library 或其他东西。这里有人和我有同样的问题吗?

0 投票
1 回答
671 浏览

winapi - 在 Windows 上基于 log4cxx 时间的滚动

有没有人成功让 log4cxx 在 Windows 上根据时间滚动文件?从单元测试用例和我可以观察到的行为看来,这在 win32 平台上根本不起作用。

我的配置如下,以防我在那里犯了错误:

谢谢!

0 投票
3 回答
1988 浏览

log4net - Log4Net 滚动文件附加程序滚动问题

我有以下 log4net 配置:

数据将不断记录到日志文件并滚动正常,但我最终得到了这样的滚动文件:

我希望文件像:

0 投票
3 回答
61703 浏览

locking - 间歇性 log4net RollingFileAppender 锁定文件问题

我们在开发和生产机器上看到了一个间歇性问题,我们的日志文件没有被记录到。

在使用 Visual Studio 进行开发和调试时,我们会在 VS 输出窗口中收到以下 log4net 错误消息:

该进程无法访问文件“C:\folder\file.log”,因为它正被另一个进程使用。

配置部分应如下所示:

我们当前针对该问题的解决方法是重命名最后一个日志文件。我们当然希望这会失败(由于前面提到的文件锁定),但通常不会。由于aspnet_wp.exe进程的锁定,一次或两次重命名失败。

我们的 log4net 配置部分如下所示:

如前所述,我们在机器上间歇性地看到这种情况,但一旦问题发生,它就会持续存在。

0 投票
2 回答
7749 浏览

java - 你能让 Tomcat 6 stdout.log 文件表现得像 log4j DailyRollingFileAppender 吗?

我们使用的是 Windows 安装的 Tomcat 6。默认情况下,我们的应用程序的 log4j 输出到 ${catalina.base}/logs/stdout_.log 文件。此日志文件仅在我们重新启动 Tomcat 时才会滚动,并且文件名始终包含日期。

我希望它表现得像 DailyRollingFileAppender,它在滚动时重命名文件……这样我就可以打开 Notepad++ 并查看今天的日志,因为 Notepad++ 会记得我昨天打开了同一个文件。:)

我知道我可以在 log4j 中创建另一个附加程序,但我最终会得到 stdout.log 和另一个日志文件,而且我担心记录到这两个文件会对性能造成轻微影响。我已经尝试将swallowOutput=true 添加到我的context.xml,但我仍然可以在stdout.log 中记录所有内容。有任何想法吗?