node.js - 温斯顿从纱线 2 中的位置记录
问题描述
我的日志消息只是info: after all completed
出于某种原因正在打印console.log
,at Console.log
并且每条日志消息都有一些空白行。
➤ YN0000: [@bb/common-framework]: console.log
➤ YN0000: [@bb/common-framework]: info: after all completed
➤ YN0000: [@bb/common-framework]:
➤ YN0000: [@bb/common-framework]: at Console.log (../../../../../.yarn/cache/winston-npm-3.3.3-3fa4527b42-8a9d69c642.zip/node_modules/winston/lib/winston/transports/console.js:79:23)
这似乎只在运行时发生
"test:graph": "yarn ts/app/service/packages/graph workspaces foreach --parallel --topological-dev --verbose --recursive run test",
":g:jest": "cd $INIT_CWD && jest --collectCoverage --colors --config ../../../../jest.config.js --rootDir .",
"test": "yarn :g:jest",
如果我在下面运行一个测试,一切都很好
"jest": "cd $INIT_CWD && jest --forceExit --colors --config jest-vscode.config.js",
这基本上是我的 winston 配置的复制和粘贴,但是在一个新项目中问题并没有出现。我怀疑这与 jest 有什么关系,但由于我只看到这个通过 jest 和循环运行的测试,所以我不能把它排除在外。
import { createLogger, format, transports } from "winston";
describe('something', () => {
const log = createLogger({
level: 'debug',
format: format.combine(
format.colorize({ level: true, message: false }),
format.splat(),
format.simple(),
format.align(),
format.padLevels(),
),
transports: [new transports.Console()]
})
it('hello', () => {
log.info('hello world');
})
})
这些是我在显示此错误的最简单的模块中拥有的部门。
"dependencies": {
"@aurelia/kernel": "dev",
"@js-joda/core": "npm:^3.2.0",
"@new10com/axios-logger": "^0.1.4",
"apollo-server-express": "npm:^2.18.2",
"axios": "0.21.x",
"change-case": "npm:^3.1.0",
"dotenv": "^8.2.0",
"find-up": "^5.0.0",
"graphql": "npm:^14.5.0",
"logform": "npm:^2",
"typeorm": "npm:^0.2.28",
"winston": "3"
},
"devDependencies": {
"@types/jest": "npm:26.x",
"@types/node": "12",
"jest": "npm:^26",
"ts-jest": "^26.4.1",
"type-fest": "^0.18.0",
"typescript": "^4.0.5"
}
我尝试了winston 3.3.3 和winston 3.2.x,结果相同。
抱歉,这是一个重现性差的问题,我知道这是一个很长的问题。如果您有任何想法,请分享。
解决方案
看起来这是开玩笑的,它似乎并不总是这样做,所以我不完全理解。https://github.com/facebook/jest/issues/9127
推荐阅读
- swift - 堆栈上按钮的大小
- javascript - 将 Firestore 数组打印到 Google 表格
- swift - 处理来自 Firestore 的多个完成处理程序
- salesforce - Salesforce Apex 和 Visualforce
- r - 可能具有不同美学的多个geom_smooth?
- java - 自定义 bean 异常处理程序在 VM 路由中的骆驼 doCatch 中不起作用
- android - AspectJ - 添加 firebase 依赖项后的 Android IllegalStateException
- spring-boot - 如何在 AXON 4.0.4 中避免/停止多次打印同一事件
- php - 动态更改选项然后选择一个选项
- vuejs3 - 使用 primeVue 将 Vue 3 应用程序添加到现有的 .net MVC 项目中,而不是渲染 VuePrime 组件