Logbook模組 logging的高階封裝版

2021-09-26 20:24:51 字數 2713 閱讀 8399

pip install logbook
目前僅封裝了檔案日誌輸出和控制台日誌輸出,可以自定義列印格式。

**
from pathlib2 import path

import logbook

from logbook import logger, timedrotatingfilehandler

from logbook.more import colorizedstderrhandler

class

log(

object):

format_string =

" [ : ] "

def__init__

(self, name=

"logging"

, file_path=

none):

self.name = name

self._file_path = file_path

self.logger =

none

@property

deffile_handler

(self)

: self._file_path = path(self._file_path)

if"."

notin self._file_path.name:

self._file_path = self._file_path.joinpath(

"log.log"

) self._file_path.parent.mkdir(exist_ok=

true

) _log = timedrotatingfilehandler(

str(self._file_path)

, date_format=

'%y-%m-%d'

, bubble=

true

, encoding=

'utf-8'

) _log.format_string = self.format_string

return _log

@file_handler.setter

deffile_handler

(self, file_path)

: self._file_path = file_path

@property

defstd_handler

(self)

: _log = colorizedstderrhandler(bubble=

true

) _log.format_string = self.format_string

return _log

definit

(self)

: logbook.set_datetime_format(

"local"

) self.logger = logger(self.name)

self.logger.handlers =

if self._file_path is

notnone

:def

__getattr__

(self, item)

:return

getattr

(self.logger, item)

if __name__ ==

'__main__'

: log = log(name=

"omg"

, file_path=

"log/abc.log"

) log.init(

)for i in

range

(100):

log.info(f"當前為第論"

)

輸出結果
[2019-09-04 11:16:11.281424]

[info : omg] 當前為第0論

[2019-09-04 11:16:11.281618]

[info : omg] 當前為第1論

[2019-09-04 11:16:11.281695]

[info : omg] 當前為第2論

[2019-09-04 11:16:11.281760]

[info : omg] 當前為第3論

[2019-09-04 11:16:11.281820]

[info : omg] 當前為第4論

[2019-09-04 11:16:11.281877]

[info : omg] 當前為第5論

[2019-09-04 11:16:11.281933]

[info : omg] 當前為第6論

[2019-09-04 11:16:11.281988]

[info : omg] 當前為第7論

[2019-09-04 11:16:11.282043]

[info : omg] 當前為第8論

[2019-09-04 11:16:11.282098]

[info : omg] 當前為第9論

1.timedrotatingfilehandler

2.colorizedstderrhandler

configparser模組,logging模組

configparser模組 import configparser ret configparser.configparser ret a ret b ret c with open file w as f ret.write f 自動生成檔案 a 1 2 3 4 b 5 6 c 7 8 按照字典...

python 利用logbook模組管理日誌

日誌管理作為軟體專案的通用部分,無論是開發還是自動化測試過程中,都顯得尤為重要。最初是打算利用python的logging模組來管理日誌的,後來看了些github及其他人的自動化框架設計,做了個比對後,還是決定使用logbook。這篇部落格,介紹下python中的logbook模組的使用方法,僅供參...

day21 shutil模組和logging模組

一 shutil模組 copy2函式 複製檔案 copytree 拷貝整個目錄 rmtree 刪除整個目錄 move 移動檔案 eg shutil.copy d test testfile.txt d test testfilebak.txt 複製乙份檔案 shutil.move d test te...