使用Winston将Node.js应用程序登录到DigitalOcean Spaces

时间:2018-09-20 16:12:03

标签: node.js logging digital-ocean winston

温斯顿是否支持上传到DigitalOcean Spaces的可写流对象?

例如,S3对象有s3-streamlogger,但我找不到直接使用Winston和空格的方法。

1 个答案:

答案 0 :(得分:1)

根据Spaces Documentation,Spaces与AWS S3 API兼容:

  

Spaces API旨在与Amazon的AWS S3 API互操作。在   在大多数情况下,使用客户端库时,请设置“端点”或   $ {REGION} .digitaloceanspaces.com的“基本” URL并生成一个空格   密钥来替换您的AWS IAM密钥将使您可以在适当位置使用Space   S3。

所以我最终将import winston from 'winston'; import { S3StreamLogger } from 's3-streamlogger'; const s3Stream = new S3StreamLogger({ bucket: "mybucket", config: { endpoint: 'nyc3.digitaloceanspaces.com', }, access_key_id: "MY_ACCESS_KEY", secret_access_key: "MY_SECRET_KEY", tags: {type: "mytype", project: "myproject"} }); const s3Transport = new winston.transports.Stream({ stream: s3Stream }); export const logger = winston.createLogger({ transports: [s3Transport] }); logger.info('Hello Winston!'); s3-streamlogger一起使用,将日志上传到我的空间存储桶中:

C,kernel,error
0.001,linear,0.03
0.001,poly,0.04
0.01,linear,0.01
0.01,poly,0.03
0.1,linear,0.00
0.1,poly,0.02
1.0,linear,0.00
1.0,poly,0.01
10.0,linear,0.00
10.0,poly,0.01

希望有帮助