如何解决一起使用覆盖的控制台和记录器时,Winston 记录不正确
使用:
- NodeJS 14.17.2
- Typesript 4.1.3
- 温斯顿 3.3.3
我为自己编写了一个很小的 npm package (github),以便在开始新项目时几乎可以立即添加更多有用的日志记录 - 它是使用 winston 的单个文件。该包有三个选项:
- 导入要使用的 winston 记录器实例
- 从该实例导入单个日志记录方法
- 导入一个函数,该函数使用来自 winston 实例的方法覆盖控制台的日志记录方法
在测试包时,我发现如果我覆盖控制台日志记录方法,然后使用控制台日志记录方法和 winston 实例上的日志记录方法的组合,那么文件传输结束覆盖大块的日志。这发生在我使用控制台方法的“附近”。
相比之下,如果我只使用其中一种日志记录方法,则日志很好,即 winston 实例方法,或控制台日志记录方法(覆盖后他们)。
MCVE
import { overwriteConsole,silly,error } from '@developerjake/djlogger';
// overwrite console methods with winston instance methods
overwriteConsole();
// use overwritten console methods
console.info('INFO');
console.info('INFO');
console.info('INFO');
console.info('INFO');
console.debug('DEBUG');
console.debug('DEBUG');
console.debug('DEBUG');
console.debug('DEBUG');
// use exported winston instance methods
silly('???')
silly('???')
silly('???')
silly('???')
error('ERRONEOUS');
error('ERRONEOUS');
error('ERRONEOUS');
error('ERRONEOUS');
输出:
05/07/2021 00:51:50 info: INFO
05/07/2021 00:51:50 info: INFO
05/07/2021 00:51:50 info: INFO
05/07/2021 00:51:50 info: INFO
05/07/2021 00:51:50 debug: DEBUG
05/07/2021 00:51:50 debug: DEBUG
05/07/2021 00:51:50 debug: DEBUG
05/07/2021 00:51:50 debug: DEBUG
RRONEOUS
05/07/2021 00:51:50 error: ERRONEOUS
就 npm 包本身而言,坚持使用一种日志记录方法不是问题,尽管我很想了解导致这种情况的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。