簡體   English   中英

從 Python 寫入日志到 Mongo DB

[英]Writing log from Python to Mongo DB

我正在嘗試將日志從 Python 寫入 Mongo DB。 我的代碼正在執行並將數據庫創建為“DSLogSummary”,但未將條目寫入集合:

from apscheduler.schedulers.blocking import BlockingScheduler
from pymongo import MongoClient
from pymongo import ASCENDING
from pytz import utc
import datetime

client = MongoClient()
db = client.DSLogSummary
collection = db.ds_jobLogEntry
collection.ensure_index([("timestamp", ASCENDING)])

def log(msg):
    entry = {}
    entry['timestamp'] = datetime.datetime.utcnow()
    entry['msg'] = msg
    collection_id = collection.insert_one(entry).inserted_id

def job_test():
    print ("Hello World")
    log('Job executed')

jobstores = {
     'mongo': {'type': 'mongodb'},
}

sched = BlockingScheduler()
sched.configure(jobstores=jobstores, timezone=utc)
sched.add_job(job_test, trigger='cron', month='*', hour='*', minute = '*', second='*/5')
sched.start()

輸出為:Hello World Hello World Hello World Hello World Hello World Hello World

在此處輸入圖片說明

您的代碼工作正常,條目在集合中可見...


根據您的用例 -編寫日志- 在我看來,使用面向時間序列的數據庫而不是 MongoDB 數據庫會更好。 [無sql數據庫]

通過使用 MongoDB,您將冒這樣的風險,即 DB 內可見的事件將無法反映現實,因為數據的異步寫入。

你可以看看這里這里知道為什么 MongoDb 不適合時間序列......

在您的情況下, InfluxDB可能是更好的選擇(或Mysql

暫無
暫無

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

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