这里我已经封装好了,源码见:https://gitee.com/aiainui/my_logger.git
1.如何使用?
见: t.py
# encoding:utf-8
from Logger import *
if __name__ == '__main__':
my_logger = Logger('./config_log.ini').logger
my_logger.info("Logger start successfully!")
my_logger.debug("Logger start successfully!")
my_logger.warning("Logger start successfully!")
my_logger.error("Logger start successfully!")
日志打印结果示例:
[INFO 2022-08-10 14:41:51.804 27540 Logger.py:__init__:60] Logger init successful!
[INFO 2022-08-10 14:41:51.804 27540 t.py:<module>:7] Logger start successfully!
[DEBUG 2022-08-10 14:41:51.804 27540 t.py:<module>:8] Logger start successfully!
[WARNING 2022-08-10 14:41:51.805 27540 t.py:<module>:9] Logger start successfully!
[ERROR 2022-08-10 14:41:51.805 27540 t.py:<module>:10] Logger start successfully!
2.如何配置?
见:config_log.ini
各配置字段说明:
[log]
LEVEL = info # 日志的级别:debug,info, warning, error
FILE_NAME_PREFIX = ./log/server_ # 设置日志的文件保存目录以及日志文件前缀
WHEN=D # 设置日志的文件生成的频率,D代表每天都新生成一个日志文件,W代表周,W0代表每周一生成,W1-W6类似
BACK_COUNT=0 # 是备份文件的个数, 如果超过这个个数,就会自动删除
WRITE_FILE=1 # 是否写文件,1代表日志写日志文件,0代表不写日志文件
3.如何设置日志前缀
当前日志的前缀为形如这样的格式[ERROR 2022-08-10 11:42:20.653 30640 t.py:<module>:10]
:
如何修改呢?见代码logger.py文件,这个可以自行定义
self.fmt = '[%(levelname)s %(asctime)s %(process)d %(filename)s:%(funcName)s:%(lineno)s] %(message)s'
4.进一步补充说明
WHEN
# S 秒
# M 分
# H 小时
# D 天
# W 每星期(interval==0时代表星期一)
# midnight 每天凌晨
另外我在logger.py中封装了一个单例方法
get_logger_ob_instance(),也可以酌情使用