国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python logging模塊的使用

python logging模塊的使用

2020-09-08 00:18安家與此 Python

這篇文章主要介紹了python logging模塊的使用,幫助大家更好的理解和學習python,感興趣的朋友可以了解下

默認情況下Python的logging模塊將日志打印到了標準輸出中,且只顯示了大于等于WARNING級別的日志,這說明默認的日志級別設置為WARNING(日志級別等級CRITICAL > ERROR > WARNING > INFO > DEBUG),默認的日志格式為日志級別:Logger名稱:用戶輸出消息。

靈活配置日志級別,日志格式,輸出位置

?
1
2
3
4
5
6
7
8
9
10
11
import logging
 
file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',)
logging.basicConfig(
  format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
  datefmt='%Y-%m-%d %H:%M:%S %p',
  handlers=[file_handler,],
  level=logging.ERROR
)
 
logging.error('你好')

日志切割

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import time
import logging
from logging import handlers
 
sh = logging.StreamHandler()
rh = handlers.RotatingFileHandler('myapp.log', maxBytes=1024,backupCount=5)
fh = handlers.TimedRotatingFileHandler(filename='x2.log', when='s', interval=5, encoding='utf-8')
logging.basicConfig(
  format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
  datefmt='%Y-%m-%d %H:%M:%S %p',
  handlers=[fh,sh,rh],
  level=logging.ERROR
)
 
for i in range(1,100000):
  time.sleep(1)
  logging.error('KeyboardInterrupt error %s'%str(i))

配置參數

logging.basicConfig()函數中可通過具體參數來更改logging模塊默認行為,可用參數有:

filename:用指定的文件名創建FiledHandler,這樣日志會被存儲在指定的文件中。
filemode:文件打開方式,在指定了filename時使用這個參數,默認值為“a”還可指定為“w”。
format:指定handler使用的日志顯示格式。
datefmt:指定日期時間格式。
level:設置rootlogger(后邊會講解具體概念)的日志級別
stream:用指定的stream創建StreamHandler。可以指定輸出到sys.stderr,sys.stdout或者文件(f=open(‘test.log','w')),默認為sys.stderr。若同時列出了filename和stream兩個參數,則stream參數會被忽略。

format參數中可能用到的格式化串:
%(name)s Logger的名字
%(levelno)s 數字形式的日志級別
%(levelname)s 文本形式的日志級別
%(pathname)s 調用日志輸出函數的模塊的完整路徑名,可能沒有
%(filename)s 調用日志輸出函數的模塊的文件名
%(module)s 調用日志輸出函數的模塊名
%(funcName)s 調用日志輸出函數的函數名
%(lineno)d 調用日志輸出函數的語句所在的代碼行
%(created)f 當前時間,用UNIX標準的表示時間的浮 點數表示
%(relativeCreated)d 輸出日志信息時的,自Logger創建以 來的毫秒數
%(asctime)s 字符串形式的當前時間。默認格式是 “2003-07-08 16:49:45,896”。逗號后面的是毫秒
%(thread)d 線程ID。可能沒有
%(threadName)s 線程名。可能沒有
%(process)d 進程ID。可能沒有
%(message)s用戶輸出的消息

 

屬性 格式 描述
asctime %(asctime)s 日志產生的時間,默認格式為2003-07-08 16:49:45,896
created %(created)f time.time()生成的日志創建時間戳
filename %(filename)s 生成日志的程序名
funcName %(funcName)s 調用日志的函數名
levelname %(levelname)s 日志級別 ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL')
levelno %(levelno)s 日志級別對應的數值
lineno %(lineno)d 日志所針對的代碼行號(如果可用的話)
module %(module)s 生成日志的模塊名
msecs %(msecs)d 日志生成時間的毫秒部分
message %(message)s 具體的日志信息
name %(name)s 日志調用者
pathname %(pathname)s 生成日志的文件的完整路徑
process %(process)d 生成日志的進程ID(如果可用)
processName %(processName)s 進程名(如果可用)
thread %(thread)d 生成日志的線程ID(如果可用)
threadName %(threadName)s 線程名(如果可用)

 

logger對象配置

針對不同的數據流設置不同的日志級別。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import logging
 
logger = logging.getLogger()
# 創建一個handler,用于寫入日志文件
fh = logging.FileHandler('test.log',encoding='utf-8')
fh.setLevel(logging.DEBUG)
 
# 再創建一個handler,用于輸出到控制臺
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
 
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
 
fh.setFormatter(formatter)
ch.setFormatter(formatter)
 
#logger對象可以添加多個fh和ch對象
logger.addHandler(fh)
logger.addHandler(ch)
 
logger.debug('logger debug message')
logger.info('logger info message')
logger.warning('logger warning message')
logger.error('logger error message')
logger.critical('logger critical message')

logging庫提供了多個組件:Logger、Handler、Filter、Formatter。Logger對象提供應用程序可直接使用的接口,Handler發送日志到適當的目的地,Filter提供了過濾日志信息的方法,Formatter指定日志顯示格式。另外,可以通過:logger.setLevel(logging.Debug)設置級別,當然,也可以通過fh.setLevel(logging.Debug)單對文件流設置某個級別。

以上就是python logging模塊的使用的詳細內容,更多關于python logging模塊的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/guoys/p/13615106.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久综合av| 欧美福利在线观看 | 亚洲精品一区 | 黄色片com | 中文字幕av在线播放 | 青娱乐一区| 亚州国产 | 欧美黑人性生活 | 中文日韩在线 | 在线中文视频 | 99黄色片 | 欧美综合在线观看 | 久久99国产精品久久99大师 | 黑人巨大精品欧美一区免费视频 | 视频1区2区 | 精品久久一区二区三区 | 国产永久免费在线观看 | 91精品国产乱码久久久久久久久 | 国产欧美日韩精品一区 | 日韩在线观看视频一区二区三区 | 欧美国产在线观看 | 久久99精品国产麻豆宅宅 | 欧美日韩中文国产一区发布 | 日韩欧美中文字幕一区二区三区 | 国产精品一区二区视频 | 欧美在线 | 在线免费观看av电影 | 日韩有码一区 | 久久99精品久久久久久久 | 精品亚洲一区二区三区四区五区 | 国产精品久久久久久久久 | 综合精品久久久 | 国产精品一二三区 | 午夜精品福利在线观看 | 国产精品1区| 在线观看毛片网站 | 日韩一区二区中文 | 国产精品99久久免费观看 | 亚洲国产成人av | 先锋资源网av | 日本免费精品视频 |