python自定義封裝logging模塊

#coding:utf-8

importlogging


classTestLog(object):

????'''

封裝后的logging

????'''

????def__init__(self, logger?=None):

????????'''

????????????指定保存日志的文件路徑贺喝,日志級別明刷,以及調(diào)用文件

????????????將日志存入到指定的文件中

????????'''


????????# 創(chuàng)建一個logger

????????self.logger?=logging.getLogger(logger)

????????self.logger.setLevel(logging.DEBUG)

????????# 創(chuàng)建一個handler魁索,用于寫入日志文件

????????self.log_time?=time.strftime("%Y_%m_%d_")

????????self.log_path?="D:\\python\\workspace\\pythontest\\log\\"

????????self.log_name?=self.log_path?+self.log_time?+'test.log'


????????fh?=logging.FileHandler(self.log_name,?'a')??# 追加模式? 這個是python2的

????????# fh = logging.FileHandler(self.log_name, 'a', encoding='utf-8')? # 這個是python3的

????????fh.setLevel(logging.INFO)


????????# 再創(chuàng)建一個handler,用于輸出到控制臺

????????ch?=logging.StreamHandler()

????????ch.setLevel(logging.INFO)


????????# 定義handler的輸出格式

????????formatter?=logging.Formatter('[%(asctime)s] %(filename)s->%(funcName)s line:%(lineno)d [%(levelname)s]%(message)s')

????????fh.setFormatter(formatter)

????????ch.setFormatter(formatter)


????????# 給logger添加handler

????????self.logger.addHandler(fh)

????????self.logger.addHandler(ch)


????????#? 添加下面一句牲芋,在記錄日志之后移除句柄

????????# self.logger.removeHandler(ch)

????????# self.logger.removeHandler(fh)

????????# 關閉打開的文件

????????fh.close()

????????ch.close()


????defgetlog(self):

????????returnself.logger

封裝后的logging代碼中format()中的自定義日志格式,可以根據(jù)喜好更換:

?%(levelno)s: 打印日志級別的數(shù)值

?%(levelname)s: 打印日志級別名稱

?%(pathname)s: 打印當前執(zhí)行程序的路徑膝蜈,其實就是sys.argv[0]

?%(filename)s: 打印當前執(zhí)行程序名

?%(funcName)s: 打印日志的當前函數(shù)

?%(lineno)d: 打印日志的當前行號

?%(asctime)s: 打印日志的時間

?%(thread)d: 打印線程ID

?%(threadName)s: 打印線程名稱

%(process)d: 打印進程ID

%(message)s: 打印日志信息

封裝python自帶的logging類储狭,向Logger類中傳用例名稱,用法

log?=Logger().getlog()??#放在class上面

classClassName()

log.info("log message")

結果:

[2018-01-1722:45:05,447] test_mainrun.py test_run_mail line:31[INFO]截圖保存成功,全路徑

1具體用法:

代碼如下:

1 #coding:utf-8 5 from selenium import webdriver

6 import unittest

7 from pythontest.commlib.baselib import TestLog

8 #自定義公共模塊

9

10 log = TestLog().getlog()

11 class testcals(unittest.TestCase):

12? ? u'''【調(diào)用】'''

13? ? def setUp(self):

14? ? ? ? self.driver = webdriver.Firefox()

15? ? ? ? self.base = Screen(self.driver)? # 實例化自定義類commlib.baselib

16

17? ? def login(self):

18? ? ? ? url_login = "http://www.baidu.com"

19? ? ? ? self.driver.get(url_login)

20

21? ? def test_01_run_mail(self):

22? ? ? ? try:

26? ? ? ? ? ? self.login()28? ? ? ? ? ? log.info(self.img)

29? ? ? ? except Exception as msg:

30? ? ? ? ? ? log.error("異常原因 [ %s ]" % msg)32? ? ? ? ? ? log.error(self.img)

33? ? ? ? ? ? raise

34

35? ? def test_02_case(self):

36? ? ? ? u'''【test_case】'''

37? ? ? ? log.error("首頁error 日志")

38? ? ? ? log.debug("訂單頁debug 日志")

39? ? ? ? log.info("活動頁info 日志")

40? ? ? ? log.critical("支付critical 日志")

4

43

44? ? def tearDown(self):

45? ? ? ? self.driver.quit()

46

47 if __name__ == "__main__":

48? ? unittest.main()?

創(chuàng)建了一個測試交流群释移,如果對軟件測試叭披、接口測試、自動化測試玩讳、面試經(jīng)驗交流感興趣可以加測試交流群:829792258涩蜘,還會有同行一起技術交流

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嚼贡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子同诫,更是在濱河造成了極大的恐慌粤策,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,332評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件误窖,死亡現(xiàn)場離奇詭異叮盘,居然都是意外死亡,警方通過查閱死者的電腦和手機贩猎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評論 3 385
  • 文/潘曉璐 我一進店門熊户,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吭服,你說我怎么就攤上這事』嚷蓿” “怎么了艇棕?”我有些...
    開封第一講書人閱讀 157,812評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長串塑。 經(jīng)常有香客問我沼琉,道長,這世上最難降的妖魔是什么桩匪? 我笑而不...
    開封第一講書人閱讀 56,607評論 1 284
  • 正文 為了忘掉前任打瘪,我火速辦了婚禮,結果婚禮上傻昙,老公的妹妹穿的比我還像新娘闺骚。我一直安慰自己,他們只是感情好妆档,可當我...
    茶點故事閱讀 65,728評論 6 386
  • 文/花漫 我一把揭開白布僻爽。 她就那樣靜靜地躺著,像睡著了一般贾惦。 火紅的嫁衣襯著肌膚如雪胸梆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,919評論 1 290
  • 那天须板,我揣著相機與錄音碰镜,去河邊找鬼。 笑死习瑰,一個胖子當著我的面吹牛绪颖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杰刽,決...
    沈念sama閱讀 39,071評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼菠发,長吁一口氣:“原來是場噩夢啊……” “哼王滤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起滓鸠,我...
    開封第一講書人閱讀 37,802評論 0 268
  • 序言:老撾萬榮一對情侶失蹤雁乡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后糜俗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體踱稍,經(jīng)...
    沈念sama閱讀 44,256評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,576評論 2 327
  • 正文 我和宋清朗相戀三年悠抹,在試婚紗的時候發(fā)現(xiàn)自己被綠了珠月。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,712評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡楔敌,死狀恐怖啤挎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卵凑,我是刑警寧澤庆聘,帶...
    沈念sama閱讀 34,389評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站勺卢,受9級特大地震影響伙判,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜黑忱,卻給世界環(huán)境...
    茶點故事閱讀 40,032評論 3 316
  • 文/蒙蒙 一宴抚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧甫煞,春花似錦菇曲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至埃跷,卻和暖如春蕊玷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弥雹。 一陣腳步聲響...
    開封第一講書人閱讀 32,026評論 1 266
  • 我被黑心中介騙來泰國打工垃帅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剪勿。 一個月前我還...
    沈念sama閱讀 46,473評論 2 360
  • 正文 我出身青樓贸诚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酱固,可洞房花燭夜當晚...
    茶點故事閱讀 43,606評論 2 350