簡體   English   中英

如何在 python 中直接登錄到 s3

[英]How to log directly to s3 in python

使用日志庫可以直接登錄到s3嗎? 並且不寫入標准輸出。 (我在程序中還有其他打印語句應該打印到標准輸出)目前我的代碼是這樣的:

logging.basicConfig(level=logging.INFO)
log = logging.getLogger("MyLog")
log_stringio = io.StringIO()
handler = logging.StreamHandler(log_stringio)
log.addHandler(handler)

def write_logs(body, bucket, key):
    body = body.getvalue()
    s3 = boto3.client("s3")
    s3.put_object(Body=body, Bucket=bucket, Key=key)   

atexit.register(write_logs, body=log_stringio, bucket="abc", key="def")

此代碼在寫入日志時,也寫入標准輸出。 知道如何防止這種情況嗎?

Amazon S3 對象是不可變的。 不能“附加”到 object。

s3.put_object()命令正在創建 object 及其內容。 put_object()的任何后續調用都將替換object 的內容(實際上,它會生成一個具有相同名稱的object)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM