首页 » 网站推广 » php日记封装类技巧_python操作日志的封装

php日记封装类技巧_python操作日志的封装

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

name:自定义日志的名字, 默认是root, 但是我这里是利用调用文件的__name__ 作为默认名字

path:天生的日志的文件名

php日记封装类技巧_python操作日志的封装

level:日志的级别,我这里把所有的级别都默认设置了level=DEBUG

php日记封装类技巧_python操作日志的封装
(图片来自网络侵删)
方法2

利用logging.fileconfig这个模块实现(不知道这个模块的找度娘恶补一下把)

1.利用配置文件布局日志配置信息

logger.ini

[loggers]keys = root, example01, example02[logger_root]level = DEBUGhandlers = hand01, hand02[logger_example01]handlers = hand01, hand02qualname = example01propagate = 0[logger_example02]handlers = hand01, hand03qualname = example02propagate = 0[handlers]keys = hand01, hand02, hand03[handler_hand01]class = StreamHandlerlevel = INFOformatter = form01args=(sys.stdout, )[handler_hand02]class = FileHandlerlevel = DEBUGformatter = form01args = ('log/test_case_log.log', 'a')[handler_hand03]class = handlers.RotatingFileHandlerlevel = INFOformatter = form01args = ('log/test_case_log.log', 'a', 1010241024,3)[formatters]keys = form01, form02[formatter_form01]format = %(asctime)s-%(filename)s-[line:%(lineno)d]-%(levelname)s-[LogInfoMessage]: %(message)sdatefmt = %a, %d %b %Y %H:%M:%S[formatter_form02]format = %(name)-12s: %(levelname)-8s-[日志信息]: %(message)sdatefmt = %a, %d %b %Y %H:%M:%S

封装python代码

"""import loggingfrom logging import configclass MyLog(object): def __init__(self): config.fileConfig('logger.ini') self.logger = logging.getLogger('example01') @property def my_logger(self): return self.loggerif __name__ == '__main__': log = MyLog() log.my_logger.info('it is my test log message info')总结

两种方法各有好处吧

第一种代码很好理解思路清晰 , 但是不利于项目都掩护,比如日志文件名,日志格式等无法修正,只能通过代码内部修正

第二种实在是利用config模块内部利用配置文件操作模块ConfigParser做了封装, 用配置文件来布局自定义日志器,好处很明显,我们只要通过修正配置文件就能修正日志的格式,名字,级别等等一些设置,无需改动代码,而且利用很大略, 实在这种方法完备不须要封装一个python代码,哪个模块须要输出日志,直接调用config模块得到logger就可以了(便是上面文件的那几行代码)。

本日的文章就到这里吧喜好的小伙伴可以点赞收藏加关注哟。

标签:

相关文章

php常量率低技巧_PHP 常量详解教程

PHP 常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。注释...

网站推广 2024-12-19 阅读0 评论0