Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么Winston logger会删除错误细节_Node.js_Typescript_Console.log_Winston - Fatal编程技术网

Node.js 为什么Winston logger会删除错误细节

Node.js 为什么Winston logger会删除错误细节,node.js,typescript,console.log,winston,Node.js,Typescript,Console.log,Winston,我试图记录axios错误,因此我定义了一个自定义错误,并使用Winston.error进行记录。 但是,不显示响应详细信息。奇怪的是console.log会打印所有的细节 通过console.log,我得到了这个 { MyError: at new MyError (src/axios-test.ts:16:15) at src/axios-test.ts:29:15 at Generator.throw (<anonymous>) at rejected (/src/axios-t

我试图记录axios错误,因此我定义了一个自定义错误,并使用Winston.error进行记录。 但是,不显示响应详细信息。奇怪的是console.log会打印所有的细节

通过console.log,我得到了这个

{ MyError:
at new MyError (src/axios-test.ts:16:15)
at src/axios-test.ts:29:15
at Generator.throw (<anonymous>)
at rejected (/src/axios-test.ts:6:65)
at process._tickCallback (internal/process/next_tick.js:68:7)
  name: 'MyError',
  myerror:
   { Error: Request failed with status code 500
       at createError (/Users/woonggeunjang/dev/node_modules/axios/lib/core/createError.js:16:15)
       at settle (/Users/dev/node_modules/axios/lib/core/settle.js:17:12)
       at IncomingMessage.handleStreamEnd (/Users/dev/node_modules/axios/lib/adapters/http.js:236:11)
       at IncomingMessage.emit (events.js:203:15)
       at IncomingMessage.EventEmitter.emit (domain.js:448:20)
       at endReadableNT (_stream_readable.js:1145:12)
       at process._tickCallback (internal/process/next_tick.js:63:19)
     config:
      { url: 'https://ptsv2.com/t/gcnad-1585724700/post',
        method: 'post',
        data: 'hmm',
        headers: [Object],
        transformRequest: [Array],
        transformResponse: [Array],
        timeout: 0,
        adapter: [Function: httpAdapter],
        xsrfCookieName: 'XSRF-TOKEN',
        xsrfHeaderName: 'X-XSRF-TOKEN',
        maxContentLength: -1,
        validateStatus: [Function: validateStatus] },
     request:
      ClientRequest {
        domain: null,
        _events: [Object],
        _eventsCount: 6,
        _maxListeners: undefined,
        output: [],
        outputEncodings: [],
        outputCallbacks: [],
        outputSize: 0,
        writable: true,
        _last: true,
        chunkedEncoding: false,
        shouldKeepAlive: false,
        useChunkedEncodingByDefault: true,
        sendDate: false,
        _removedConnection: false,
        _removedContLen: false,
        _removedTE: false,
        _contentLength: null,
        _hasBody: true,
        _trailer: '',
        finished: true,
        _headerSent: true,
        socket: [TLSSocket],
        connection: [TLSSocket],
        _header:
         'POST /t/gcnad-1585724700/post HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nContent-Type: application/x-www-form-urlencoded\r\nUser-Agent: axios/0.19.2\r\nContent-Length: 3\r\nHost: ptsv2.com\r\nConnection: close\r\n\r\n',
        _onPendingData: [Function: noopPendingOutput],
        agent: [Agent],
        socketPath: undefined,
        timeout: undefined,
        method: 'POST',
        path: '/t/gcnad-1585724700/post',
        _ended: true,
        res: [IncomingMessage],
        aborted: undefined,
        timeoutCb: null,
        upgradeOrConnect: false,
        parser: null,
        maxHeadersCount: null,
        _redirectable: [Writable],
        [Symbol(isCorked)]: false,
        [Symbol(outHeadersKey)]: [Object] },
     response:
      { status: 500,
        statusText: 'Internal Server Error',
        headers: [Object],
        config: [Object],
        request: [ClientRequest],
        data: 'Thank you for this dump. I hope you have a lovely day!' },
     isAxiosError: true,
     toJSON: [Function] } }
似乎在使用winston时应用了一些格式。 如果设置预打印格式,则显示错误详细信息

更新 这是我的温斯顿配置

const consoleTransport = new transports.Console();
const Logger = createLogger({
    transports: [consoleTransport],
    format: format.combine(
        format.timestamp(),
        format.json(),
    ),
});

提前谢谢。

显示您的winston配置我刚刚添加了我的winston配置查看显示您的winston配置我刚刚添加了我的winston配置查看
export default class MyError extends Error {

myerror: string;

constructor(error: string) {
    super();
    Object.setPrototypeOf(this, new.target.prototype);
    this.name = 'MyError';
    this.myerror = error;
    Error.captureStackTrace(this);
}
}

async function testPost () {

let res = null;
try {
    res = await axios.post('https://ptsv2.com/t/gcnad-1585724700/post', 'hmm');
} catch (error) {
    // throw new Error(error);
// console.log(error);
// Logger.error('hmm', error.stack);
    throw(new MyError(error));
}
}

testPost().catch(error => {
    // console.log(error);
    Logger.error('mm', error );
});
const consoleTransport = new transports.Console();
const Logger = createLogger({
    transports: [consoleTransport],
    format: format.combine(
        format.timestamp(),
        format.json(),
    ),
});