Python日志配置类
2024-10-14 00:28:35
# -*- coding: utf-8 -*
"""日志工具类 author: Jill usage:
from common.logger import Log
log = Log().get_logger()
log.error("error occurred when xxx")
"""
import logging
import time
import os cur_path = os.path.dirname(os.path.realpath(__file__))
log_path = os.path.join(os.path.dirname(cur_path), 'logs')
# 如果不存在这个logs文件夹,就自动创建一个
if not os.path.exists(log_path):
os.mkdir(log_path) class Log:
@staticmethod
def get_logger():
fmt = logging.Formatter('[%(asctime)s] [%(threadName)s] [%(levelname)s] [%(pathname)s:%(lineno)s]: %(message)s',
"%Y-%m-%d %H:%M:%S")
console_handler = logging.StreamHandler()
console_handler.setFormatter(fmt)
log_name = os.path.join(log_path, '%s.log' % time.strftime('%Y_%m_%d'))
file_handler = logging.FileHandler(log_name, 'a', encoding='utf-8') # 这个是python3的
file_handler.setFormatter(fmt)
logger = logging.getLogger('App')
logger.setLevel(logging.DEBUG)
if logger.handlers:
return logger
logger.addHandler(console_handler)
logger.addHandler(file_handler)
return logger if __name__ == "__main__":
log2 = Log.get_logger()
log = Log.get_logger()
log2.info('test')
log.info('test')
log2.error('test')
log.warning('test')
log.debug('test')
最新文章
- 运用css,对于下拉菜单的制作
- 同比 VS 环比
- oc集合
- transition与visibility之间的小tips
- mybatis框架中分页的实现
- Redis之高可用方案
- NOJ 1063 生活的烦恼
- android 工具类之图片加工
- CCNA第二讲笔记
- ios动力特效,最重要的一点 属性保持(写了动力特效但是没效果的原因就在这里)
- HBase HFile
- [Android学习笔记]枚举与int的转换
- JavaScript DOM编程艺术-学习笔记(总结一)
- Windows Server 2016-安装AD域服务注意事项
- D. Artsem and Saunders
- yii2 下拉菜单
- hihoCoder week23 最短路径·一
- nginx 根据域名和地址跳转
- data型怎么转换格式
- [转]Linux内核源码详解--iostat