[英]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.