首页 > 解决方案 > 温斯顿从纱线 2 中的位置记录

问题描述

我的日志消息只是info: after all completed出于某种原因正在打印console.logat 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,结果相同。

抱歉,这是一个重现性差的问题,我知道这是一个很长的问题。如果您有任何想法,请分享。

标签: node.jsjestjswinstonyarnpkg-v2

解决方案


看起来这是开玩笑的,它似乎并不总是这样做,所以我不完全理解。https://github.com/facebook/jest/issues/9127


推荐阅读