一、 实现目标
本文完成python环境下,类似java的log4j实现,有下面需求
1、 日志输出到控制台,同时可以输出到文件
2、 日志文件可以在任何目录
如果不指定目录,则自动在当前目录下
3、 文件以当天日期为名称,同一天日志自动追加
4、 日志输出要定位到:天-时-分-秒,当前文件名-日志代码所在行号:(回车)日志内容
日志最大不同于print是日志能定位到代码所在输出行,print不可以
5、 python日志文件要能做为工具文件,放在python公用库目录,可以在任何项目中引用,类似java的公用jar包
二、 实现原理及示例代码
# -*- coding: utf-8 -*-
"""
2018-05-29 09:07:18
作者: 刘明
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d</