本部分程序使用logging模塊實(shí)現(xiàn)。以后在寫程序時(shí)直接使用即可常熙。希望可以幫助到其他學(xué)習(xí)python的朋友纬乍。
使用方式:
1、在程序目錄新建log/裸卫,用于存放log
2蕾额、程序目錄放入已有的log.conf 配置文件。此配置文件配置了三個(gè)logging handler彼城,實(shí)現(xiàn)了info日志、error日志和terminal輸出日志 三種形式退个。日志存放配置為每天存檔一份募壕,存10天日志。
3语盈、在程序目錄放入已有的全局日志程序gloLog.py舱馅。
4、使用:任何程序中引用并使用:
from groLog import mylog
mylog.errot("this is a error message")
mylog.info("this is a info message")
配置文件:log.conf
[loggers]
keys=root
[handlers]
keys=rotatingFileHandler,streamHandler,errorHandler
[formatters]
keys=simpleFmt
[logger_root]
level=DEBUG
handlers=rotatingFileHandler,streamHandler,errorHandler
[handler_rotatingFileHandler]
class=handlers.TimedRotatingFileHandler
level=INFO
formatter=simpleFmt
args=(os.path.abspath(os.getcwd() + "/log/default.log"),"midnight", 1, 10,'utf-8')
[handler_errorHandler]
class=handlers.TimedRotatingFileHandler
level=ERROR
formatter=simpleFmt
args=(os.path.abspath(os.getcwd() + "/log/error.log"), "midnight", 1,30,'utf-8')
[handler_streamHandler]
level=INFO
class=StreamHandler
formatter=simpleFmt
args=(sys.stdout,)
[formatter_simpleFmt]
format=%(asctime)s %(pathname)s(%(lineno)d): [%(levelname)s]%(message)s
gloLog.py
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @author:gswu
# filename:glo_log.py
# created in 20190520刀荒,A special day, thanks to my wife and daughter.
import logging
import logging.config
import os
'''
編寫gloLog.py 作為全局log的管理入口代嗤。
后續(xù)別的模塊下的python文件需要使用日志功能時(shí),
需要導(dǎo)入該模塊缠借。該模塊的原理也很簡(jiǎn)單干毅,定位到文件路徑,
然后通過(guò)logger的名字獲得要用的logger配置泼返,
'''
def getLogger(name='root'):
confLog=os.path.abspath(os.getcwd()+"/log.conf")
logging.config.fileConfig(confLog)
return logging.getLogger(name)
mylog=getLogger(__name__)