将aws日志处理程序记录到支持s3和多线程kinisis流日志记录的aws服务
aws-logging-handlers的Python项目详细描述
一个python多线程日志处理程序包,它将记录流传送到 支持以下aws服务的aws服务对象:*s3 *动觉
支持gzip压缩(在s3中)
开始
先决条件
异步多部分上载依赖于使用多个 螺纹包装:
boto3
安装
使用PIP安装
pip install aws-logging-handlers
示例
流日志记录到s3和kinesis
import logging from aws_logging_handlers.S3 import S3Handler from aws_logging_handlers.Kinesis import KinesisHandler bucket="test_bucket" # The bucket should already exist # The log will be rotated to a new object either when an object reaches 5 MB or when 120 seconds pass from the last rotation/initial logging s3_handler = S3Handler("test_log", bucket, workers=3) kinesis_handler = KinesisHandler('log_test', 'us-east-1', workers=1) formatter = logging.Formatter('[%(asctime)s] %(filename)s:%(lineno)d} %(levelname)s - %(message)s') s3_handler.setFormatter(formatter) kinesis_handler.setFormatter(formatter) logger = logging.getLogger('root') logger.setLevel(logging.INFO) logger.addHandler(s3_handler) logger.addHandler(kinesis_handler) for i in range(0, 100000): logger.info("test info message") logger.warning("test warning message") logger.error("test error message") logging.shutdown()
待开发
- 支持异步
- 记录和上载指标
许可证
这个项目是在麻省理工学院的许可下授权的-请参阅LICENSE.md 有关详细信息,请存档