python 解決logging模組重複輸出日誌

2021-08-19 16:44:12 字數 979 閱讀 9646

場景:多個py檔案呼叫logging,從主檔案匯入另外的py檔案時日誌會反覆輸出幾條

原因參考:

解決:將logger例項放到單獨的py檔案,其他檔案都import該py

my_log.py

#! /usr/bin/python

# encoding:utf-8

# 配置檔案

import configparser

conf = configparser.configparser()

conf.read('config/db_monitor.conf')

# 日誌

import logging

logger = logging.getlogger()

logger.setlevel(logging.info)

logfile = conf.get("log","check_logfile")

fh = logging.filehandler(logfile,mode='a')

fh.setlevel(logging.info)

ch = logging.streamhandler()

ch.setlevel(logging.info)

formatter = logging.formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")

fh.setformatter(formatter)

ch.setformatter(formatter)

logger.addhandler(fh)

logger.addhandler(ch)

呼叫:

import my_log as my_log

my_log.logger.info('%s:初始化os_info表' % tags)

Python 日誌 logging 模組

對於小型專案而言,大家習慣於使用print語句列印資訊到終端進行除錯,然而,當專案 量擴大到了一定級別後,列印除錯的方法就顯得很凌亂了,更重要的是,當debug完成後,甄別並刪除 或注釋 除錯用的列印語句變得非常令人頭痛。而使用日誌模組則能很好地解決這些問題。日誌 logging 是在程式執行過程中...

python 日誌使用logging

將日誌列印入檔案,同時列印在控制台 logfile.py coding utf 8 import sys import logging from logging.handlers import timedrotatingfilehandler def getlogconfig name defaul...

python學習 logging模組

日誌訊息的篩選器 日誌訊息的處理器 處理器配置 等級設定 增加處理器和移除處理器 處理器的清理和關閉 日誌訊息的格式化 上下文額外資訊新增的方法 工具函式 logging模組作用 為應用程式提供靈活的手段記錄事件 錯誤 警告 除錯資訊 對資訊進行收集 篩選 寫入檔案,傳送系統日誌,甚至可以同步傳送給...