2014-04-23 103 views
1

我们有一个perl web界面,目前我正在努力将其慢慢转换为使用Dancer 2和PSGI,而不是我们缓慢的普通香草CGI模型。Perl Website with Dancer2 - 如何记录用户活动,历史记录等?

在我们的旧模型中,我们在会话中存储了的所有内容 - 用户所做的事情,调用堆栈,数据输入的历史........您明白了。

我们做不是想要做到这一点,以便我们可以保持会议小而高效。但是,我们仍然想记录用户所做的事情(这样当错误被报告时,我们可以看到他们做了什么来解决错误,他们输入了什么输入等等)。

我看着Logging上Dancer2文档,但是这似乎并没有完全得到什么,我们需要的 - 这只会记录Dancer2消息+我把什么其他消息 这一次,我发现Dancer2::Logger不似乎也相当削减它。

我还可以使用其他什么库来做我需要的东西?我严重怀疑perl没有这样做的一些好处...

+0

你想记录一切,而不必实际调用日志记录功能/方法? –

+0

哦不,我想知道最好的登录方式是什么。有一个模块可以满足我的需要,所以我只需要在该模块中调用一些东西。舞蹈家2的日志记录功能并不广泛,据我所知可以记录我需要的东西。 – Joe

+0

您可以在配置文件中使用'log_level:core'记录所有内容。它记录了所有活动,几乎无处不在。另外,你也可以在你想要登录的应用程序上使用'log'。 (我知道这可能来不及帮助你,但它可以帮助别人来这里寻求帮助) – jjmerelo

回答

0

只是我的头顶,我可以想到Log::log4perlLog::Dispatch,虽然有无数其他人。

您可以使用它们建立自己的日志文件,与舞者的日志分开。

至于最好的方法,大多数日志记录接口具有相同的日志记录API,但运行时实例化和配置语法不同。所以请阅读其中的一些文档,也许可以尝试一些大小的文档。

+0

我认为log4perl看起来非常好 - 你还有其他建议吗?对我们来说,性能将是一个关键的事情 - 我们的老CGI方法保持会话中的一切都相当缓慢,所以... – Joe

+0

有很多方法来加速日志记录。有些依赖于你使用的是哪个http服务器(有一些愚蠢的apache技巧可以实现),但大多数情况下,一旦日志打开,当你调用日志记录方法时,你会得到一些可配置的装饰(时间戳等)。 )然后打印到文件。 –