day18

今日内容:

  1、包的概念与应用

  2、logging模块

包:

  包就是一个包含有__init__.py文件的文件夹

  包本质就是一种模块,即包使用包导入使用的,报内部包含的文件也都是用来被导入使用

  为何要用包?

  包使文件夹,那文件夹就是用来组织文件的

  定义了包之后里面常用相对调用,因为绝对调用不够灵活。

  在包内调用不能出包,否则出错。

logging模块

  用于写日志,可以将日志打印在控制器上,也可以将日志存入文件

  logging的级别

  logging.debug(调试debug)

  logging.info(消息info)

  logging.waring(警告warn)

  logging.error(错误)

  logging.critical(严重critical)

  filename:用制定的文件名创建FiledHandler,这样日志会被存在文件中

  filemode:文件打开方式,在制定了filename时使用这个参数,默认值为‘a’还可指定为‘w’

  format:指定handler使用的日志显示格式。

  datefmt:指定日期时间格式

  level:设置rootlogger的日志级别

  stream:用制定的stream创建streamHandler.可以指定输出到sysy.stderr,sys.stdout或者文件,默认为sys.stderr.

若同时列出了filename和stream两个参数,则stream参数会被忽略。

################################################################

logger1 = logging.getLogger('用户交易:')

f1 = logging.FileHandler('a1.log',encoding='utf-8')
f2 = logging.FileHandler('a2.log',encoding='utf-8')
ch = logging.StreamHandler()

format1 = logging.Formatter(
fmt='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S %p')

format2 = logging.Formatter(fmt='%(asctime)s - %(levelname)s : %(message)s',
datefmt='%Y-%m-%d %H:%M:%S %p')

logger1.addHandler(f1)
logger1.addHandler(f2)
logger1.addHandler(ch)

f1.setFormatter(format1)
f2.setFormatter(format1)
ch.setFormatter(format2)

logger1.setLevel(10)
f1.setLevel(10)
f2.setLevel(10)
ch.setLevel(10)

logger1.info('death death death death')
####################################################################






################################################################
"""
MyLogging Test
"""
import time
import logging
import my_logging  # 导入自定义的logging配置
logger = logging.getLogger(__name__)  # 生成logger实例

def demo():
    logger.debug("start range... time:{}".format(time.time()))
    logger.info("中文测试开始。。。")
    for i in range(10):
        logger.debug("i:{}".format(i))
        time.sleep(0.2)
    else:
        logger.debug("over range... time:{}".format(time.time()))
    logger.info("中文测试结束。。。")
if __name__ == "__main__":
    my_logging.load_my_logging_cfg()  # 在你程序文件的入口加载自定义logging配置
    demo()
###################################################################
原文地址:https://www.cnblogs.com/yaoxiaofeng/p/9456246.html