Tag: 节点本地存储

Node.js使用相对IDlogging多个请求

简而言之,可以将日志(在整个节点 API中)关联到某个(dynamic)引用ID吗? [进一步解释] 所以,情况就是这样:我正在编写一个可以处理多达数百个请求的API。 它在Node.js和Express中实现。 我在整个API有广泛的日志logging,每个日志必须有一个唯一的引用ID,以便我可以将多个日志关联到相同的请求。 我可以做到这一点的一种方法是随机生成一个string,并将其作为parameter passing给每个函数调用(我将这作为最后的手段)。 我不想这样做 重申一下, 请求进来 随机生成string: aljsndci.json 追加(Express)request.body到aljsndci.json 在API中做内部逻辑 loginJSON格式,每个日志必须包含密钥{ … file: 'aljsndci.json' … } 将(Express)响应附加到aljsndci.json 通过快递回复 我偶然发现了像continuation-local-storage这样的解决scheme,但是,如何生成一个唯一的string(用于名称空间),然后再引用相同的string呢? 这里的所有例子都对命名空间的string进行了硬编码。 有没有例子,类似于这里的(在这里find) var getNamespace = require('continuation-local-storage').getNamespace; var session = getNamespace('my session'); var render = require('./lib/render.js') function finish(response) { var user = session.get('user'); render({user: user}).pipe(response); } 而不是var session = getNamespace('my session'); ,它实际上是从这一点上调用一系列callback的名字? […]

节点 – 继续本地存储

我试图使用continuation-local-storage包来从不容易访问的地方访问当前的快速请求/响应。 我创build了以下中间件: var createNamespace = require('continuation-local-storage').createNamespace, getNamespace = require('continuation-local-storage').getNamespace; const domain = 'ns.cls'; exports.configure = function(app) { createNamespace(domain); app.use(function(req, res, next) { exports.set(req, res, "callcontext", { req, res }); next(); }); }; exports.set = function(req, res, name, value) { var namespace = getNamespace(domain); namespace.bindEmitter(req); namespace.bindEmitter(res); namespace.run(() => namespace.set(name, value)); }; exports.get = function(name) { var […]