如何使用hapi js进行每用户基础日志记录

时间:2014-12-05 09:31:24

标签: javascript node.js hapijs

我正在使用winston日志记录框架并根据日志级别进行日志记录,但现在我在查找错误方面遇到了困难。所以我们决定按用户进行登录,这就是我遇到问题的地方。

我想要实现什么?

  • 每小时都会生成每个用户的日志文件。 (我们可以跳过此主题中的每小时约束)并且每个用户都有唯一标识符' uid'。

我拥有什么?

简要介绍

  • 目前,我只能访问处理函数中的请求对象,但我想在DAO,库函数中记录事件(基于每个用户)。 ' UID'我在请求对象中的处理函数中可以使用,因为我在身份验证中间件中将uid放入请求中。

我的解决方案(不优雅)

  • 将请求对象(或仅uid)传递给每个函数和日志(使用winston)事件。自定义传输将确定放置日志的位置(在哪个文件中,基于uid)。 当然,这不是优雅的方式,因为每个函数都必须有uid参数才能记录事件,这看起来很糟糕。

我想要你什么?

  • 一种更好,更优雅的方法,也是可扩展的。

相关文章:https://github.com/hapijs/discuss/issues/51

1 个答案:

答案 0 :(得分:0)

尝试查看Continuation-Local Storage: https://github.com/othiym23/node-continuation-local-storage

这是一篇关于在express中实现它的好文章: https://datahero.com/blog/2014/05/22/node-js-preserving-data-across-async-callbacks/