温斯顿是否支持上传到DigitalOcean Spaces的可写流对象?
例如,S3对象有s3-streamlogger,但我找不到直接使用Winston和空格的方法。
答案 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
希望有帮助