问题标签 [log4perl]

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

jquery - 在记录器运行时查看 Log::Log4perl 日志文件的内容

我正在使用 Perl/Mojolicious 和 JQuery 构建一个服务器客户端应用程序。服务器使用 Log::Log4perl 生成日志文件并将日志文件名发送回客户端,以便客户端可以看到进度。在客户端中,我使用常规的 HTML A 链接到日志文件:

问题是我在客户端单击“查看日志文件”,浏览器显示文件正在加载并卡住,直到服务器完成对文件的写入 - 然后我才能看到文件的内容。

我将 Log::Log4perl 配置为自动刷新并尝试使用“log4perl.appender.Syncer”,甚至将缓冲区设置为 0 或 1:log4perl.appender.Buffer 但没有任何帮助 - 我的 Log::Log4perl 配置是:

服务器更新时如何查看日志文件的内容?非常感谢,祝您度过愉快的一周,

赛义夫。

0 投票
1 回答
316 浏览

perl - log4perl 单个 conf 文件中的多个配置

我可以在一个 conf 文件中指定多个配置吗?

我已经指定了这样的东西

xml_scriptaddrdec2xml是 2 个独立的脚本。

当我独立运行脚本时,其他日志文件会被清理。:( 任何建议表示赞赏。我不想有多个 conf,所以请建议使用单个 conf 文件的解决方案。

0 投票
1 回答
369 浏览

perl - How can I change a log4perl appender's filters at run time?

I'v been trying to figure out if I can change an appender's filter at run-time that I've defined via a configuration file.

I'd like to change this filter from MyBoolean0 for the SCREEN to MyBoolean1, but do it after my program has started running.

Poking at the APPENDER_BY_NAME hash for SCREEN using Data::Dumper shows the following:

But mucking with this HASH seems hackish to me. Is there a better way to change an appender's filters?

0 投票
1 回答
316 浏览

perl - 跨多个模块使用根记录器

WinXP 上的 ActiveState Perl 5.12

我最近成为了 Log4perl 的转换者,并成功地使用了它,我为构成我的应用程序的每个模块定义了一个特定的记录器。例子:

上传.pm-----


这可行,但很难跨大量日志文件跟踪程序流,例如 Upload.log 、 Parse.log 、 FileRead.log 等。快速-n-dirty 解决方案:在所有记录器中使用相同的文件名。这效果要好得多,但前提是程序是按顺序连续使用的。

现在对于皱纹 - 假设模块 Upload.pm 被几个程序使用,即 readMyFiles.pl、readHerFiles.pl 和 dumpAllFiles.pl。运行 readMyFiles.pl 时,我希望 Upload.pm 中的记录器写入 readMyFiles.pl.log,运行时 dumpAllFiles.pl 希望 Upload.pm 中的记录器写入 dumpAllFiles.pl.log

一种方法可能是在我的 .pl 文件中声明我们的 变量 $logFileName 并在我的所有模块中使用它,如下所示:

另一个可能是从我的 .pm 中删除所有记录器并仅在 .pl 中定义它们 - 但是我将如何在 .pm 中引用 $logger ?

感谢所有想法和建议。

仍在学习的史蒂夫

0 投票
2 回答
496 浏览

perl - 如何创建单独的日志文件?

我正在使用Log::Log4perl创建日志文件,但它附加到单个日志文件;相反,我想为我的脚本的每次执行创建一个单独的日志文件。

如何创建单独的日志文件?

这是我的代码:

获取.pl

日志文件

0 投票
2 回答
120 浏览

perl - 如何使用 log4perl 将 FATAL 事件记录到单独的文件中

我正在使用log4perl,我想在单独的文件中记录所有 FATAL 事件。

这是我的脚本:

这是我的配置文件:

我期望通过此设置,文件log4perl_fatal.log将仅获得 FATAL 级别的事件。但这是我在运行脚本后得到的:

为什么我会收到 INFO 级别的事件log4perl_fatal.log

如何在单独的文件中仅记录 FATAL 级别的事件?

PS 这是一个带有此脚本和配置的GitHub 存储库。

0 投票
1 回答
113 浏览

perl - 如何使用 log4perl 模块将我自己的后缀添加到在 Perl 中轮换的日志文件中?

下面的代码是这样的:每当日志文件大小超过 5 MB 时,创建一个名为 , 等的新日志logfile.log.1文件logfile.log.2

但是如何logfile_20140530_15_31.log使用log4perl模块创建我们自己的日志文件名?

0 投票
4 回答
202 浏览

perl - 在子程序中使用 Log4Perl?

如果我在内部使用 Log4Perl 创建一个抽象函数,那么它将输出行所在的行号$logger->error_die($m),而不是fatalError()函数所在的位置。

在 Bash 中,我通过在每条错误消息的末尾写入来解决问题,并在病房后解析 Bash 脚本以替换为唯一数字。这样我就知道错误输出的确切位置。但是,让第二个脚本修改您的源代码并不是最佳选择。[###][###]

问题

有没有办法必须Log4Perl写下调用我的函数的行号fatalError(),或者应该如何解决问题?

0 投票
1 回答
592 浏览

perl - Log::Log4Perl 屏幕记录器在创建文件记录器后停止工作

我有一个 Perl 程序,其中我必须让一组消息进入屏幕(stdout),另一组进入文件。我为每个输出创建了两个记录器:首先是屏幕记录器,然后是文件记录器。当我创建并使用屏幕记录器时,屏幕上会出现消息。创建文件记录器后,使用屏幕记录器打印的消息不再出现在屏幕上。但是,当使用文件记录器时,文件中会出现消息。

记录器的 Log::Log4Perl 配置如下:

我已经通过代码跟踪,检查了返回值,但仍然没有发现问题可能是什么。关于问题可能由什么引起的建议(或此时的答案)将不胜感激。

提前致谢...

==================================================== =================

环境信息:我在 Windows 7 和 8 上使用 Perl v5.16.3。指令和包含如下:

0 投票
1 回答
350 浏览

multithreading - Perl 错误与 Log::Log4perl::Appender::File

我正在尝试在 Perl 的帮助下构建应用程序。该应用程序由perlThread::Pool和包组成。Log4Perl

当我排除包Thread::Pool日志记录工作时。但是当我包含它时,它给了我如下错误:

工作代码:

但是,如果我将评论删除为

它给出了上述错误

发生这种情况的确切原因是什么?如何避免这个错误?