首页 > 其他 > 详细

logging,包

时间:2019-07-01 23:13:09      阅读:101      评论:0      收藏:0      [点我收藏+]

import 方式

所有对包的操作,都相当于对包下的__init__操作

from a.b.c import d

b 必须 是包 import 最后只有一个层级

相对导入 . 代表当前路径, .. 代表父级路径

logging日志

# 旗舰版
## 旗舰版logging

import os
import logging.config

## 定义三种输出格式

standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'                   '[%(levelname)s][%(message)s]' ## (时间,线程名字,线程数量,任务名字,文件名字,报错行数,等级,信息)

simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'

id_simple_format = '[%(levelname)s][%(asctime)s] %(message)s'

## 目录 路径
logfile_dir = os.path.dirname(os.path.abspath(__file__))

logfile_name = 'log1.log'
logfile_name_boss = 'boss.log'
## 如果不存在定义的日志目录就创建一个

if not os.path.isdir(logfile_dir):
    os.mkdir(logfile_dir)

# log 文件的全路径

logfile_path = os.path.join(logfile_dir,'logs',logfile_name)
logfile_path_boss = os.path.join(logfile_dir,'boss',logfile_name_boss)
## log配置字典


LOGGING_DIG= {
    'version':1,
    'disable_existing_loggers':False,
    'formatters':{          ## 配置相应格式化
        'standard':{
            'format':standard_format
        },
        'simple':{
            'format':simple_format
        },
        'easy':{
            'format':id_simple_format
        }
    },
    'filters':{},
    'handlers':{  ## 配置句柄 文件 或者 控制台
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
            'formatter':'simple'
        },
        'default':{
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler', ## 轮换着保存到文件
            'formatter':'standard',
            'filename':logfile_path,   # 文件名字  绝对路径
            'maxBytes':1024*1024*5,  ## 单文件最大大小  字节
            'backupCount':5,         ## 最多多少个文件
            'encoding':'utf-8'
        },
        'sb_boss':{
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler', ## 轮换着保存到文件
            'formatter':'easy',
            'filename':logfile_path_boss,   # 文件名字  绝对路径
            'maxBytes':1024*1024*5,  ## 单文件最大大小  字节
            'backupCount':5,         ## 最多多少个文件
            'encoding':'utf-8'
        }
    },
    'loggers':{        #对象
            '':{
                'handlers':['default','console','sb_boss'],
                'level':'DEBUG',
                'propagate':True
            }
    }
}



def load_my_logging_cfg():
    logging.config.dictConfig(LOGGING_DIG)  ## 添加配置
    logger = logging.getLogger(__name__) ## 获取文件名 可以手动添加
    logger.info('it works!')


if __name__ == '__main__':
    load_my_logging_cfg()
    

logging,包

原文:https://www.cnblogs.com/albert0823/p/11117029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!