import sys
import logging
#預設的配置
default_log_level = logging.info # 預設等級
default_log_fmt = 『%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s』 # 預設日誌格式
defualt_log_datefmt = 『%y-%m-%d %h:%m:%s』 # 預設時間格式
default_log_filename = 『log.log』 # 預設日誌檔名稱
class logger(object):
def __init__(self):
# 1. 獲取乙個logger物件
self._logger = logging.getlogger()
# 2. 設定format物件
self.formatter = logging.formatter(fmt=default_log_fmt,datefmt=defualt_log_datefmt)
# 3. 設定日誌輸出
# 3.1 設定檔案日誌模式
self._logger.addhandler(self._get_file_handler(default_log_filename))
# 3.2 設定終端日誌模式
self._logger.addhandler(self._get_console_handler())
# 4. 設定日誌等級
self._logger.setlevel(default_log_level)
def _get_file_handler(self, filename):
'''返回乙個檔案日誌handler'''
# 1. 獲取乙個檔案日誌handler
filehandler = logging.filehandler(filename=filename,encoding="utf-8")
# 2. 設定日誌格式
filehandler.setformatter(self.formatter)
# 3. 返回
return filehandler
def _get_console_handler(self):
'''返回乙個輸出到終端日誌handler'''
# 1. 獲取乙個輸出到終端日誌handler
console_handler = logging.streamhandler(sys.stdout)
# 2. 設定日誌格式
console_handler.setformatter(self.formatter)
# 3. 返回handler
return console_handler
@property
def logger(self):
return self._logger
#初始化並配乙個logger物件,達到單例的
#使用時,直接匯入logger就可以使用
logger = logger().logger
關於 日誌log
概述 介紹日誌的基本概念 用途和日誌生成規則。x系統 日誌包括 x系統 執行過程中的所有行為記錄資訊,各模組在執行過程中的關鍵位置,都會記錄相關日誌。通過分析 x系統 日誌,可以了解 x系統 的執行狀態。出現故障時可以通過日誌定位故障產生的時間,原因等資訊。x系統 的日誌生成是通過緩衝方式實現。即日...
Log 日誌級別
日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 1.static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。2.static level info info level表明 訊息在粗粒度級別上突出強調應用程式...
Log日誌小結
注 網路摘抄,自己小結,侵刪 日誌用途 問題追蹤 通過日誌不僅僅包括我們程式的一些bug,也可以在安裝配置時,通過日誌可以發現問題。狀態監控 通過實時分析日誌,可以監控系統的執行狀態,做到早發現問題 早處理問題。安全審計 審計主要體現在安全上,通過對日誌進行分析,可以發現是否存在非授權的操作。一般l...