zoukankan      html  css  js  c++  java
  • python logging 模块

    在logging模块中通过addHandler实现将log一边输出到log文件一边打印到屏幕:

    import logging

    #logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')

    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    stream_handler = logging.StreamHandler()
    logger.addHandler(stream_handler)
    file_handler = logging.FileHandler("a.log")
    logger.addHandler(file_handler)
    logger.debug("debug")
    logger.info("info")

    logger.warning("warning")

    basicConfig 的参数

    • filename:即日志输出的文件名,如果指定了这个信息之后,实际上会启用 FileHandler,而不再是 StreamHandler,这样日志信息便会输出到文件中了。
    • filemode:这个是指定日志文件的写入方式,有两种形式,一种是 w,一种是 a,分别代表清除后写入和追加写入。
    • format:指定日志信息的输出格式(format的参数如下所示)
    %(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。
    %(processName)s:打印线程名称。
    %(module)s:打印模块名称。
    %(message)s:打印日志信息。

    Reference link: https://zhuanlan.zhihu.com/p/56968001

  • 相关阅读:
    使用truffle测试部署合约
    nodejs promise深度解析
    pthread线程特定数据
    基于信号量与互斥锁实现的生产者和消费者
    Linux coredump 的打开和关闭
    Linux 双网卡配置两个IP同时只有一个会通的原因
    进程间通信-共享内存
    进程间通信-消息队列
    TCP/IP SIGPIPE信号
    Select模式和超时
  • 原文地址:https://www.cnblogs.com/i-shu/p/13995532.html
Copyright © 2011-2022 走看看