Loopbackjs 如何将morgan添加到环回4重新应用程序?
我只是想添加morgan来记录我的http呼叫。我尝试过的两种方法是:Loopbackjs 如何将morgan添加到环回4重新应用程序?,loopbackjs,loopback4,Loopbackjs,Loopback4,我只是想添加morgan来记录我的http呼叫。我尝试过的两种方法是: 将其添加到MySequence类: 在调用application.ts文件中的this.sequence(MySequence)之前添加它: 第一种方法在我从以下位置更新环回依赖项之前起作用: "@loopback/boot": "^2.4.1", "@loopback/core": "^2.9.3", "@loopback/repos
application.ts
文件中的this.sequence(MySequence)
之前添加它:"@loopback/boot": "^2.4.1",
"@loopback/core": "^2.9.3",
"@loopback/repository": "^2.11.0",
"@loopback/rest": "^6.0.0",
"@loopback/rest-explorer": "^2.2.8",
"@loopback/service-proxy": "^2.3.6",
致:
很明显,更新做了一些事情,使它停止工作,但我不知道是什么
此外,我在文档中也看到了其他方法,比如使用拦截器的方法,但当它应该像在Express应用程序中添加中间件一样简单时,我觉得这是一种过分的做法。请将您的更改还原到
MySequence.ts
。以下几点就足够了:
export class MySequence extends MiddlewareSequence {
}
您应该知道,使用此注册的morgan中间件。expressMiddleware将由MiddlewareSequence
自动发现
请参阅以下站点的工作示例:
请将更改还原到
MySequence.ts
。以下几点就足够了:
export class MySequence extends MiddlewareSequence {
}
您应该知道,使用此注册的morgan中间件。expressMiddleware将由MiddlewareSequence
自动发现
请参阅以下站点的工作示例:
我使用了Raymond的示例,但必须从config对象中删除stream.write函数才能使其正常工作。使用这个示例,我可以看到中间件正在注册,但仍然无法看到Morgan的日志 只需将
defaultConfig
对象留空:
private setupLogging() {
const morganFactory = (config?: morgan.Options<Request, Response>) => {
this.debug('Morgan configuration', config);
return morgan('combined', config);
};
const defaultConfig: morgan.Options<Request, Response> = {};
this.expressMiddleware(morganFactory, defaultConfig, {
injectConfiguration: 'watch',
key: 'middleware.morgan',
});
}
private setupLogging(){
const morganFactory=(配置?:morgan.Options)=>{
debug('Morgan configuration',config);
返回摩根('组合',配置);
};
const defaultConfig:morgan.Options={};
此.expressMiddleware(morganFactory、defaultConfig、{
配置:“监视”,
键:'中间件.摩根',
});
}
我使用了Raymond的示例,但必须从config对象中删除stream.write函数才能使其正常工作。使用这个示例,我可以看到中间件正在注册,但仍然无法看到Morgan的日志
只需将defaultConfig
对象留空:
private setupLogging() {
const morganFactory = (config?: morgan.Options<Request, Response>) => {
this.debug('Morgan configuration', config);
return morgan('combined', config);
};
const defaultConfig: morgan.Options<Request, Response> = {};
this.expressMiddleware(morganFactory, defaultConfig, {
injectConfiguration: 'watch',
key: 'middleware.morgan',
});
}
private setupLogging(){
const morganFactory=(配置?:morgan.Options)=>{
debug('Morgan configuration',config);
返回摩根('组合',配置);
};
const defaultConfig:morgan.Options={};
此.expressMiddleware(morganFactory、defaultConfig、{
配置:“监视”,
键:'中间件.摩根',
});
}
将更改还原到MySequence.ts
下面的示例中,我可以看到morgan在使用debug时注册为中间件,但仍然不会打印HTTP调用。将更改还原到MySequence.ts
下面的示例中,我可以看到morgan在使用debug时注册为中间件,但仍然是不会打印出HTTP调用。
private setupLogging() {
const morganFactory = (config?: morgan.Options<Request, Response>) => {
this.debug('Morgan configuration', config);
return morgan('combined', config);
};
const defaultConfig: morgan.Options<Request, Response> = {};
this.expressMiddleware(morganFactory, defaultConfig, {
injectConfiguration: 'watch',
key: 'middleware.morgan',
});
}