gpt4 book ai didi

perl - PSGI 日志记录 (Perl)

转载 作者:行者123 更新时间:2023-12-04 08:28:25 24 4
gpt4 key购买 nike

尽管文档相当少且不明确,并且对于初学者来说是一个有效的 How-To,但我已经成长为喜欢 PSGI 并且目前正在我的一个应用程序中使用它。我想知道的是如何管理跨多节点应用程序的日志记录?关于登录 PSGI,什么被认为是“最佳实践”?

最佳答案

我建议使用 Plack::Middleware::AccessLog用于记录访问和Plack::Middleware::LogDispatch用于自定义日志记录。
他们都反过来使用流行的Log::Dispatch模块。

LogDispatch 中间件文档目前没有向您展示如何使用
设置后的日志记录对象。这是一个例子:

my $app = sub {
my $env = shift;
$env->{'psgix.logger'}->({ level => "debug", message => "This is debug" });
return [ 200, [], [] ];
};

为了解决多节点问题,您可以使用 Log::Dispatch::Syslog这会将日志记录发送到 rsyslog这又可以将日志数据传递到另一个 rsyslog 服务器。这样,所有节点都可以登录到单个中央日志服务器。

借助 Log::Dispatch 的灵 active ,您还可以选择记录
如果您愿意,可以在本地和远程进行冗余。发送到的日志
中央服务器可以被认为是主要的,并且记录完成
如果中央日志服务器在本地,则可以将其视为备份
下来一点。

使用中央日志服务器有几个优点:
  • 您可以在一个地方在整个集群中“grep”您的日志。
  • 使用一组日志文件,日志轮换和分析更简单。
  • 您可以更好地向上和向下扩展集群,因为您可以关闭节点而不必担心丢失日志记录,或者保持服务器开启,以便可以触发通宵的 cron 作业来处理日志。

  • 我目前以这种方式一起使用 Log::Dispach 和 Rsyslog 来自己管理多节点集群。

    关于perl - PSGI 日志记录 (Perl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8883364/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com