婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解python日志輸出使用配置文件格式

詳解python日志輸出使用配置文件格式

熱門標(biāo)簽:騰訊地圖標(biāo)注有什么版本 深圳網(wǎng)絡(luò)外呼系統(tǒng)代理商 高德地圖標(biāo)注字母 柳州正規(guī)電銷機(jī)器人收費 申請辦個400電話號碼 鎮(zhèn)江人工外呼系統(tǒng)供應(yīng)商 千呼ai電話機(jī)器人免費 外呼系統(tǒng)前面有錄音播放嗎 400電話辦理費用收費

python腳本日志輸出使用配置文件的形式,不需要在每個腳本里面配置日志。

需求簡述:

如我要寫2個腳本(a.py和b.py),a.py日志輸出到/var/log/a.log,b.py日志輸出到/var/log/b.log,并且日志按日期切割。如果每個腳本都去配置一遍日志的話,浪費時間也不利于后期維護(hù)。

現(xiàn)在我要使用配置文件的格式去統(tǒng)一管理python腳本的代碼日志輸出,后續(xù)所有python腳本日志都在這個配置文件里面配置,腳本讀取。方便后續(xù)維護(hù)和增加腳本的可讀性。

需求實現(xiàn):

我配置文件路徑及內(nèi)容:

vim /data/yw/conf/logconf.conf 
 
[loggers]
keys=root,alog,blog
[handlers]
keys=handdef,handalog,handblog
 
[formatters]
keys=formatdef
###############################################
[logger_root]
level=DEBUG
handlers=handdef
 
[logger_alog]
level=DEBUG
# 如果同時使用handalog,handdef ,那么在執(zhí)行a.py腳本的時候日志即輸出到控制臺,也輸出到日志文件
handlers=handalog,handdef
qualname=alog
propagate=0
 
[logger_blog]
#b.py 的日志我不讓他輸出到控制臺,所以不用handdef 這個hands去處理日志
level=DEBUG
handlers=handblog
qualname=blog
propagate=0
 
###############################################
[handler_handdef]
# 輸出到控制臺
class=StreamHandler
level=INFO
formatter=formatdef
args=(sys.stderr,)
 
 
[handler_handalog]
# a.py 日志我按時間切割
# handlers.TimedRotatingFileHandler:使用時間格式切割日志,midnight為凌晨切割  
# 如果配置按時#間切割的話可以這樣:class=FileHandler,然后寫個腳本定時去切割。
class=handlers.TimedRotatingFileHandler
level=DEBUG
formatter=formatdef
args=('/var/log/a.log', 'midnight')
#args=('/var/log/a.log', 'a') 不使用時間切割可以這樣配置args
#另一種寫法:面三個參數(shù)含義: D 按天切割 1 每天只切割一個文件 5 保留5個日志文件
#args=('/data/ywlog/cron/cron_dbbackup.log', 'D', 1, 5)
 
[handler_handblog]
# b.py 日志我不進(jìn)行切割
class=FileHandler
level=DEBUG
formatter=formatdef
args=('/var/log/b.log', 'a') 
###############################################
[formatter_formatdef]
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s'
datefmt='%a, %d %b %Y %H:%M:%S'

腳本引用配置文件:

vi a.py

#!/usr/bin/python
# coding=utf-8
import logging, logging.config
reload(sys)
sys.setdefaultencoding('utf8')
 
logging.config.fileConfig("/data/yw/conf/logconf.conf")
logger = logging.getLogger('alog') #alog 為logconf.conf loggers 配置的關(guān)鍵字
# 日志輸出
logger.info("aaaa 正確日志")
logger.error("aaaa 錯誤日志")

vi b.py

#!/usr/bin/python
# coding=utf-8
import logging, logging.config
reload(sys)
sys.setdefaultencoding('utf8')
 
logging.config.fileConfig("/data/yw/conf/logconf.conf")
logger = logging.getLogger('blog') #blog 為logconf.conf loggers 配置的關(guān)鍵字
# 日志輸出
logger.info("bbbb 正確日志")
logger.error("bbbb 錯誤日志")

測試結(jié)果:

 執(zhí)行a.py腳本的時候發(fā)現(xiàn)日志輸出到控制臺也輸入到日志文件里面,但是執(zhí)行b.py 時,日志只輸入到日志文件了。和配置文件注釋的一樣。

后期如果我還要添加c.py, d.py 腳本的話我只需要按照上面的格式去配置即可。不需要在腳本里面去配置。

到此這篇關(guān)于詳解python日志輸出使用配置文件格式的文章就介紹到這了,更多相關(guān)python日志輸出 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python實現(xiàn)自定義日志的具體方法
  • Python 第三方日志框架loguru使用
  • python和websocket構(gòu)建實時日志跟蹤器的步驟
  • 解決python logging遇到的坑 日志重復(fù)打印問題
  • python 實現(xiàn)多進(jìn)程日志輪轉(zhuǎn)ConcurrentLogHandler
  • python 實現(xiàn)logging動態(tài)變更輸出日志文件名
  • python (logging) 日志按日期、大小回滾的操作
  • python基于pexpect庫自動獲取日志信息
  • Python日志打印里logging.getLogger源碼分析詳解
  • python subprocess pipe 實時輸出日志的操作
  • Python中l(wèi)ogging日志的四個等級和使用
  • 如何在Python項目中引入日志

標(biāo)簽:哈爾濱 合肥 烏蘭察布 烏蘭察布 平頂山 海南 郴州 大慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解python日志輸出使用配置文件格式》,本文關(guān)鍵詞  詳解,python,日志,輸出,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解python日志輸出使用配置文件格式》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解python日志輸出使用配置文件格式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 德惠市| 乌拉特中旗| 西华县| 随州市| 宁化县| 易门县| 建宁县| 石台县| 若羌县| 青浦区| 茌平县| 宣汉县| 丹东市| 凉城县| 新邵县| 塔城市| 睢宁县| 深泽县| 沈阳市| 深州市| 丰都县| 盐源县| 淳安县| 屯昌县| 菏泽市| 鄂伦春自治旗| 襄汾县| 张家川| 四川省| 横峰县| 乐昌市| 金川县| 含山县| 襄城县| 昌江| 碌曲县| 商河县| 赤峰市| 平乡县| 邛崃市| 包头市|