带有应用级日志中间件的 InversifyJS express 不起作用

问题描述

我正在使用 @google-cloud/logging-bunyan 登录 google 应用引擎项目和 InversifyJS express。 尝试使用 this express middleware 来捆绑每个请求的日志,但它似乎不适用于 inversify 控制器:

import './controllers/UserController';
import * as lb from '@google-cloud/logging-bunyan';

const server = new InversifyExpressServer();
    
server.setConfig(async (app: express.Application) => {
    const { mw } = await lb.express.middleware();

    app.use(mw);
    app.get('/logme',(req,res) => {
        // here "req.log" is defined
    });
    ...
}

./controllers/UserController.ts:

@controller('/user')
export default class UserController extends BaseHttpController {
    @httpGet('/:userId')
    private async get(@request() req: Request,@response() res: Response) {
        // here "req.log" is undefined
    }
}

知道为什么我不能将此中间件附加到反转控制器吗?什么是解决方法? 顺便说一句,我在应用程序中有更多“全局”中间件,例如 express.json(),它们可以工作并应用于控制器路由。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...