皮诺-云表
将皮诺日志发送给 AWS 云表日志 .
关于
pino-cloudwatch 很简单 皮诺 缓冲和持有的运输工具 皮诺 在满足下列条件之一之前的日志 :
- 日志数量达到10 000个
- 日志的“ 大小” 达到 1 048 576 字节 OR
- 至少有1个日志被缓冲, 1 000 ms( 默认) 已经通过, 没有其他日志项目被缓冲 这是为了尽量少打给云表日志的电话.
日志组名称通过 CLI 指定(--prefix)和日志流名基于以下信息:
- 可选
prefix, (中文(简体) ), - 主机名( 通过
os.hostname(), (中文(简体) ), - 进程 ID(通过
process.id, (中文(简体) ), - 将第一个日志发送到 Cloud Watch 日志时的时代
使用量
# ./bin/pino-cloudwatch.js
Sends pino logs to AWS CloudWatch Logs.
Usage: node index.js | pino-cloudwatch [options]
Options:
--help Show help [boolean]
--version Show version number [boolean]
--aws_access_key_id AWS Access Key ID
--aws_secret_access_key AWS Secret Access Key
--aws_region AWS Region
--group AWS CloudWatch log group name [required]
--prefix AWS CloudWatch log stream name prefix
--stream AWS CloudWatch log stream name, overrides --prefix option.
--interval The maxmimum interval (in ms) before flushing the log
queue. [default: 1000]
选项
group数字 : String (必须)
prefix数字 : String
interval数字 : Integer (默认) 1000女士们, 0 要禁用)
这个 interval 是试图将日志发送到 Cloud Watch Logs 之前必须耗去的时间。 增加这个功能以减少给"云表日志"的呼叫次数.
如果你把这个设定为 0 然后,它只在以下时间发出日志:
- 它达到最大圆木数
- 它达到了日志的最大尺寸
说明: 禁用间隔可能意味着日志会 永远 发送到云表日志.
aws_access_key_id数字 : String
aws_secret_access_key数字 : String
aws_region数字 : String
其他用途
可写流
此模块可以被要求并用作可写流 :
var pump = require("pump");
var split = require("split2");
var pinoCloudWatch = require("pino-cloudwatch");
pump(process.stdin, split(), pinoCloudWatch({ group: "test" }));
可写入流事件
由于pino-cloudwatch返回可写流,您可以像其它可写流一样附加事件处理器(参见 https://nodejs.org/dist/v10.19.0/docs/api/stream.html#stream writable streams (英语)) (中文(简体) ).
此外,a flushed 一旦日志被成功推出/保存在 AWS 云表日志中,事件就会被释放.
var pump = require("pump");
var split = require("split2");
var pinoCloudWatch = require("pino-cloudwatch");
var streamToCloudWatch = pinoCloudWatch({ group: "test" });
streamToCloudWatch.on("flushed", function () {
console.log("Logs were successfully sent to AWS CloudWatch");
});
pump(process.stdin, split(), pinoCloudWatch({ group: "test" }));
任意日志
技术上 pino-cloudwatch 可将任何对象模式流发送到 Cloud Watch Logs 。 这包括: 任意 基于文本的日志文件。 例如:跟踪像nginx访问.log这样的标准日志文件.
测试
# npm test