python 通過logging寫入日志到文件和控制臺的實例
更新時間:2018年04月28日 10:05:43 投稿:jingxian
下面小編就為大家分享一篇python 通過logging寫入日志到文件和控制臺的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
import logging
# 創(chuàng)建一個logger
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
# 創(chuàng)建一個handler,用于寫入日志文件
fh = logging.FileHandler('test.log')
fh.setLevel(logging.DEBUG)
# 再創(chuàng)建一個handler,用于輸出到控制臺
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 定義handler的輸出格式
formatter = logging.Formatter('[%(asctime)s][%(thread)d][%(filename)s][line: %(lineno)d][%(levelname)s] ## %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 給logger添加handler
logger.addHandler(fh)
logger.addHandler(ch)
# 記錄一條日志
logger.info('foorbar')
關于formatter的配置,采用的是%(<dict key>)s的形式,就是字典的關鍵字替換。提供的關鍵字包括:
| Format | Description |
|---|---|
| %(name)s | Name of the logger (logging channel). |
| %(levelno)s | Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL). |
| %(levelname)s | Text logging level for the message ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'). |
| %(pathname)s | Full pathname of the source file where the logging call was issued (if available). |
| %(filename)s | Filename portion of pathname. |
| %(module)s | Module (name portion of filename). |
| %(funcName)s | Name of function containing the logging call. |
| %(lineno)d | Source line number where the logging call was issued (if available). |
| %(created)f | Time when the LogRecord was created (as returned by time.time()). |
| %(relativeCreated)d | Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded. |
| %(asctime)s | Human-readable time when the LogRecord was created. By default this is of the form “2003-07-08 16:49:45,896” (the numbers after the comma are millisecond portion of the time). |
| %(msecs)d | Millisecond portion of the time when the LogRecord was created. |
| %(thread)d | Thread ID (if available). |
| %(threadName)s | Thread name (if available). |
| %(process)d | Process ID (if available). |
| %(message)s | The logged message, computed as msg % args. |
以上這篇python 通過logging寫入日志到文件和控制臺的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關文章
Python3.5內置模塊之time與datetime模塊用法實例分析
這篇文章主要介紹了Python3.5內置模塊之time與datetime模塊用法,結合實例形式分析了Python3.5 time與datetime模塊日期時間相關操作技巧,需要的朋友可以參考下2019-04-04
在Mac中PyCharm配置python Anaconda環(huán)境過程圖解
這篇文章主要介紹了在Mac中PyCharm配置python Anaconda環(huán)境過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
pytorch訓練神經(jīng)網(wǎng)絡爆內存的解決方案
這篇文章主要介紹了pytorch訓練神經(jīng)網(wǎng)絡爆內存的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

