首页 > 解决方案 > 将 winston 日志传输到服务器

问题描述

我正在阅读温斯顿文档,我遇到了以下声明

传输本质上是日志的存储设备

所以我假设如果我设置了一个 http 传输,我将能够在其他地方聚合日志。就我而言,在 localhost:3210 中运行的应用程序中

有人知道为什么我没有收到我要发送的日志吗?

这是我的代码:

import { createLogger, format, transports } from 'winston';
const { combine, timestamp, label, printf} = format;

const myFormat = printf(({ level, message, label, timestamp }) => {
  return `${timestamp} [${label}] ${level}: ${message}`;
});

export const logger = createLogger({
  format: combine(label({ label: 'Test Service' }), timestamp(), myFormat),
  transports: [
    new transports.Http({
      host: 'localhost',
      port: 3210,
      path: '/'
    })
  ]
});

logger.log({
  level: 'info',
  message: `Hello there`
});

标签: node.jsexpresswinston

解决方案


试试logger.info('Hello there');。此外,不知道您的服务器的外观如何,但请确保它具有具有POST所需路径的已定义方法。


推荐阅读