1. 程式人生 > >python 日誌模組使用

python 日誌模組使用

1 logging介紹

1.1 logger

  • 提供日誌介面,供應用程式碼使用。logger最常用的操作有兩類:配置和傳送日誌訊息。通過logging.getLogger(name)來獲得物件

1.2 handler

  • 將日誌記錄以一定的格式傳送到合適的目的地。一個logger物件可以通過addHandler可以新增多個handler,還可以設定不同的日誌級別

1.3 filter

  • 提供一種優雅的方式決定一個日誌記錄是否傳送到handler

1.4 formatter

  • 提供日誌記錄具體的輸出格式

2 logging 配置

2.1 通過python程式碼配置

#!/usr/bin/python
# -*- coding:utf-8 -*-
""" logger 日誌 """

import logging
import logging.handlers

handler = logging.handlers.RotatingFileHandler("mylog.log");
formater = logging.Formatter("%(asctime)s -  %(name)s - %(filename)s:%(lineno)d - %(message)s")
handler.setFormatter(formater)

logger = logging.getLogger('main')
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)

logger.debug("the logger out")

2.2 通過配置檔案配置

  • 編寫logging.conf
    [loggers]
    keys=root,main
    
    [handlers]
    keys=consoleHandler,fileHandler
    
    [formatters]
    keys=mainFormatter
    
    [logger_root]
    level=DEBUG
    handlers=consoleHandler
    
    [logger_main]
    level=DEBUG
    handlers=fileHandler
    qualname=main
    
    [handler_consoleHandler]
    class=StreamHandler
    level=DEBUG
    formatter=mainFormatter
    args=(sys.stdout,)
    
    
    [handler_fileHandler]
    class=logging.handlers.RotatingFileHandler
    level=DEBUG
    formatter=mainFormatter
    args=("mylog.log",)
    
    [formatter_mainFormatter]
    format="%(asctime)s -  %(name)s - %(filename)s:%(lineno)d - %(message)s"
    datefmt=
    
  • 編寫python程式匯入配置
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    """ logging config 方式"""
    
    import logging
    import logging.config
    
    logging.config.fileConfig("logging.conf")
    root_logger = logging.getLogger('root')
    logger = logging.getLogger('main')
    
    
    root_logger.debug("root logging")
    logger.debug("main logging")
    

詳情參考http://python.usyiyi.cn/python_278/library/logging.html

相關推薦

Appium-python日誌模組logging(1)

背景: 在除錯指令碼時,可直接使用pycharm IDE展示指令碼執行的日誌,如下圖: 但是,在指令碼完成後,每日定時執行自動化指令碼時,不會開啟pycharm,故會存在看不到日誌的情況,此時需要使用python日誌系統。 Python的日誌模組是logging模組。 Pyth

一看就懂,Python 日誌模組詳解及應用

日誌概述 百度百科的日誌概述: Windows網路作業系統都設計有各種各樣的日誌檔案,如應用程式日誌,安全日誌、系統日誌、Scheduler服務日誌、FTP日誌、WWW日誌、DNS伺服器日誌等等,這些根據你的系統開啟的服務的不同而有所不同。我們在系統上進行一些操作時,這些日誌檔案通常會記錄下我們操作的一些

python日誌模組---logging

通過ini檔案配置logging logger.ini [loggers] keys=root,cLogger,fLogger,cfLogger [logger_root] level=DEBUG handlers=fh [logger_cLogger] handlers=ch

自學Python--日誌模組logging

預設: import logging # 預設輸出warning、error、critical資訊 logging.debug('debug') # 除錯資訊 logging.info('info'

python 日誌模組的例子

import os, shutil import time import logging def simple_log(log_dir=None, log_name=None): if log_dir == None: log_dir

python日誌模組

import logging from common import project_path class MyLog: def my_log(self,level,msg): my_logger = logging.getLogger('python1

Python——日誌模組(logging)

一、日誌說明   日誌是跟蹤軟體執行時所發生的事件的一種方法。軟體開發者在程式碼中呼叫日誌函式,表明發生了特定的事件。事件由描述性訊息描述,該描述性訊息可以可選地包含可變資料(即,對於事件的每次出現都潛在地不同的資料)。事件還具有開發者歸因於事件的重要性;重要性也可以稱為級別或嚴重性。 二、列印到控制檯 

python 日誌模組logging學習與使用(日誌分割)

python中用於日誌建立、設定和記錄等功能的模組,就是logging了,下面是對其基本使用方法的介紹: 一、最最簡單的使用方法:import logging LOG_FILE ="/opt/xxx/log/debug.log" logging.basicConfig(filename=LOG_FILE,l

python 日誌模組使用

1 logging介紹 1.1 logger 提供日誌介面,供應用程式碼使用。logger最常用的操作有兩類:配置和傳送日誌訊息。通過logging.getLogger(name)來獲得物件

python日誌模組----logging

使用Python的logging模組能很好的幫我們完成程式的日誌功能,其實它跟Java中的log4j有不少相似的地方。下面記錄下今天學習到的logging的知識(因為有一些還沒真正使用過,不知道是否說得對,希望大家看到有說的不對的地方可以告訴下小弟,謝謝!)。     

Python:日誌模組logging的應用

   通常,在商用軟體中均會有完整的日誌機制,之前使用C語言實現過一個《簡單的分級別寫日誌程式》,具有以下功能和不足: 在Python中,上面以實現的和已經實現的,均可以使用logging模組迅速搞定,且僅僅只需要一個配置檔案,兩行程式碼,實現過程如下(僅以輸出的磁碟檔

Python 的標準日誌模組

https://mp.weixin.qq.com/s/ObQHMO_BrbLb1J-Ls7nmnQ 寫在之前   在我們的現實生活中,「日誌記錄」其實是一件非常重要的事情,比如銀行的轉賬記錄,汽車的行車記錄儀記錄行駛過程中的一切,如果出現了什麼問題,我們可以通過「日誌記錄」來搞

Appium-python日誌logging模組的簡介和應用(2)

Python的logging模組定義的函式和類為應用程式和庫的開發實現提供了一個靈活的事件日誌系統。   Logging模組提供了兩種記錄日誌的方式: 第一種是使用logging提供的模組級別的函式 第二種是使用logging日誌系統的四大元件 此文主要使用

Python--day29--logging模組(日誌模組)

重要程度六顆星,比如一個小視窗的廣告如果因為你沒有日誌的問題導致點選量沒有記錄下來,幾十分鐘那就會損失幾十萬了,這責任誰負得起。 希望離開一個公司是因為有了更好的去處而不是因為各種各樣的原因被開掉,那樣整個日子的心情就不好了 logging的作用: logging的五個級別: basiconf

python中的日誌模組的使用

做介面自動化用到日誌模組:logging 具體的使用方法如下: #新建一個收集器  my_logger=logging.getlogger("my_log") #指定日誌的等級 my_logger.setlevel("error") #設定日誌輸出的格式 formatter=loggi

python】詳解logging日誌模組

最近看了崔慶才的網站,個人認為博主的寫的非常的好,本文基於博主的文章Python中logging模組的基本用法進行學習和改造。 1、日誌記錄的重要性 在開發過程中,如果程式執行出現了問題,我們是可以使用我們自己的 Debug 工具來檢測到到底是哪一步出現了問題,如果出現了問題的話

python-logging模組的簡單使用:如何同時輸出到控制檯和本地日誌檔案

本文簡單記錄logging模組使用方法。參考部落格 提供兩種記錄日誌的方式: 使用logging提供的模組級別的函式 使用logging模組的四大元件 一、簡單使用——函式 下面是常用函式 logging.debug() logging.info() l

Python 日誌,logging模組

  demo.py(日誌,輸出到控制檯): import logging # 匯入logging模組 # 日誌級別預設是WARNING logging.basicConfig(level=logging.WARNING, forma

Python日誌輸出——logging模組

1. logging介紹 Python的logging模組提供了通用的日誌系統,可以方便第三方模組或者是應用使用。這個模組提供不同的日誌級別,並可以採用不同的方式記錄日誌,比如檔案,HTTP GET/POST,SMTP,Socket等,甚至可以自己實現具體的日誌

Python logging日誌模組

1.日誌的級別 日誌一共分成5個等級, 從低到高分別是: 1. DEBUG 2. INFO 3. WARNING 4. ERROR 5. CRITICAL 說明: DEBUG: 詳細的資訊,通常只出現在診斷問