亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2021年02月10日 11:40:29   作者:MYF12  
這篇文章主要介紹了詳解python日志輸出使用配置文件格式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

需求簡述:

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

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

需求實(shí)現(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
# 如果同時(shí)使用handalog,handdef ,那么在執(zhí)行a.py腳本的時(shí)候日志即輸出到控制臺(tái),也輸出到日志文件
handlers=handalog,handdef
qualname=alog
propagate=0
 
[logger_blog]
#b.py 的日志我不讓他輸出到控制臺(tái),所以不用handdef 這個(gè)hands去處理日志
level=DEBUG
handlers=handblog
qualname=blog
propagate=0
 
###############################################
[handler_handdef]
# 輸出到控制臺(tái)
class=StreamHandler
level=INFO
formatter=formatdef
args=(sys.stderr,)
 
 
[handler_handalog]
# a.py 日志我按時(shí)間切割
# handlers.TimedRotatingFileHandler:使用時(shí)間格式切割日志,midnight為凌晨切割  
# 如果配置按時(shí)#間切割的話可以這樣:class=FileHandler,然后寫個(gè)腳本定時(shí)去切割。
class=handlers.TimedRotatingFileHandler
level=DEBUG
formatter=formatdef
args=('/var/log/a.log', 'midnight')
#args=('/var/log/a.log', 'a') 不使用時(shí)間切割可以這樣配置args
#另一種寫法:面三個(gè)參數(shù)含義: D 按天切割 1 每天只切割一個(gè)文件 5 保留5個(gè)日志文件
#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 錯(cuò)誤日志")

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 錯(cuò)誤日志")

測試結(jié)果:

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

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

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

相關(guān)文章

  • Python(wordcloud)如何根據(jù)文本數(shù)據(jù)(.txt文件)繪制詞云圖

    Python(wordcloud)如何根據(jù)文本數(shù)據(jù)(.txt文件)繪制詞云圖

    這篇文章主要給大家介紹了關(guān)于Python(wordcloud)如何根據(jù)文本數(shù)據(jù)(.txt文件)繪制詞云圖的相關(guān)資料,詞云Wordcloud是文本數(shù)據(jù)的一種可視化表示方式,它通過設(shè)置不同的字體大小或顏色來表現(xiàn)每個(gè)術(shù)語的重要性,需要的朋友可以參考下
    2024-05-05
  • Python多版本開發(fā)環(huán)境管理工具介紹

    Python多版本開發(fā)環(huán)境管理工具介紹

    這篇文章主要介紹了Python多版本開發(fā)環(huán)境管理工具介紹的相關(guān)資料,在Python開發(fā)中,有些情況下,我們可能面臨在一臺(tái)機(jī)器上同時(shí)安裝多版本Python的需求,需要的朋友可以參考下
    2019-07-07
  • python異常和文件處理機(jī)制詳解

    python異常和文件處理機(jī)制詳解

    這篇文章主要介紹了python異常和文件處理機(jī)制,詳細(xì)分析了Python異常處理的常用語句、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-07-07
  • python使用requests?POST提交一個(gè)鍵多個(gè)值方式

    python使用requests?POST提交一個(gè)鍵多個(gè)值方式

    這篇文章主要介紹了python使用requests?POST提交一個(gè)鍵多個(gè)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python使用open函數(shù)的buffering設(shè)置文件緩沖方式

    Python使用open函數(shù)的buffering設(shè)置文件緩沖方式

    這篇文章主要介紹了Python使用open函數(shù)的buffering設(shè)置文件緩沖方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python3中的循環(huán)語句示例詳解

    Python3中的循環(huán)語句示例詳解

    這篇文章主要介紹了Python3?循環(huán)語句,本文將詳細(xì)介紹Python3中的循環(huán)語句,給出各種循環(huán)的使用示例,以及運(yùn)行結(jié)果的解釋,需要的朋友可以參考下
    2023-04-04
  • Django3中的自定義用戶模型實(shí)例詳解

    Django3中的自定義用戶模型實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Django3中自定義用戶模型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 教你如何使用Python快速爬取需要的數(shù)據(jù)

    教你如何使用Python快速爬取需要的數(shù)據(jù)

    學(xué)點(diǎn)數(shù)據(jù)爬蟲基礎(chǔ)能讓繁瑣的數(shù)據(jù)CV工作(Ctrl+C,Ctrl+V)成為自動(dòng)化就足夠了.作為一名數(shù)據(jù)分析師而并非開發(fā)工程師,需要掌握的爬蟲必備的知識(shí)內(nèi)容,能獲取需要的數(shù)據(jù)即可 ,需要的朋友可以參考下
    2021-06-06
  • Django前后端分離csrf token獲取方式

    Django前后端分離csrf token獲取方式

    這篇文章主要介紹了Django前后端分離csrf token獲取方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python利用faker庫批量生成測試數(shù)據(jù)

    python利用faker庫批量生成測試數(shù)據(jù)

    小編經(jīng)常需要批量測試一些數(shù)據(jù),有時(shí)候測試環(huán)境又暫時(shí)沒數(shù)據(jù),特意找了一下,發(fā)現(xiàn)有一個(gè)可批量生成數(shù)據(jù)的python庫—-faker,現(xiàn)在就介紹一下它的使用方法,如果你不想一行一行輸入代碼,小編提供了完整測試代碼,見文末代碼章節(jié)。
    2020-10-10

最新評(píng)論