【发布时间】:2021-09-14 15:03:18
【问题描述】:
这个问题与 Winston Logger 有关,但也适用于任何其他情况。我有以下代码:
import winston, {Logger} from 'winston';
interface CustomLogger extends Logger {
setLoggerContext(userId: string): void;
}
const logger: CustomLogger = winston.createLogger({
transports: [new winston.transports.Console()],
});
logger.setLoggerContext = (userId: string) => {
logger.defaultMeta = {userId: userId}
}
export default logger;
但是,const logger 是红色的,并显示一条错误消息:
“Logger”类型中缺少属性“setLoggerContext”,但在“CustomLogger”类型中是必需的。ts(2741)
我想保护人们不要将 defaultMeta 设置为他们想要的,我真的需要为此自定义函数,因为稍后我们可能会用其他东西更改winston,所以我想要一个自定义上下文设置器。
【问题讨论】:
标签: javascript typescript typescript-typings typescript2.0 winston