通过logging.basicConfig函数对日志的输出格式及方式做相关配置

import logging

logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='myapp.log',
filemode='a') logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')

  

参数含义:
level:指定日志级别,默认为logging.WARNING
format:指定日志格式(大概格式)
datefmt:指定时间格式(细节格式)
filename:指定写入日志文件名
filemode:指定写入方式,'w'或'a'

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
%(message)s: 打印日志信息

stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略

日志输出到流,可以是sys.stderr、sys.stdout或者文件

延伸:日志对齐

在'%(asctime)s|%(name)-12s: %(levelname)8s %(message)s'中

%(name)-12s——name字串长度不足12的,用空格补全,-(减号)表示右对齐。

%(levelname)8s——levelname字串长度不足8的,用空格补齐,没有减号表示左对齐。

logging.basicConfig参数简介的更多相关文章

  1. logging.basicConfig函数各参数:

    import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(line ...

  2. python - logging.basicConfig format参数无效

    有这么一段python代码 import threading import time import requests from decimal import Decimal, ROUND_DOWN i ...

  3. Python函数-logging.basicConfig

    在我们写程序的时候需要记录日志信息,可以用到logging.basicConfig函数 import logging logging.basicConfig(level=logging.DEBUG, ...

  4. logging.basicConfig函数

    在UI自动化应用中,经常会出错,打log就是一个很重要的环节,python的logging.basicConfig函数 真是既方便,又简单,每次粘贴到用例前,就可以打log了.  logging模块是 ...

  5. 『无为则无心』Python日志 — 69、补充:logging.basicConfig()函数说明

    目录 1.basicConfig()函数说明 2.应用 1.basicConfig()函数说明 此函数,通过创建一个带有默认Formatter(格式器)的StreamHandler(处理器),并将其添 ...

  6. mqtt------ mosca服务器端参数简介

    一:服务器端 为什么使用mosca:mosca是基于node.js开发,上手难度相对较小,其次协议支持完整,除了不支持Qos 2,其它的基本都支持.持久化支持redis以及mongo.二次开发接口简单 ...

  7. Python3 使用 logging.basicConfig() 配置输出日志中的中文乱码解决办法

    在源码中修改encoding='utf-8',因为 logging.basicConfig() 配置时实际上是用到了4大组件,只不过给了默认值而已,如果不知道怎么找到源码,告诉你们个快捷键,选中你lo ...

  8. logging模块-logging.basicConfig、logger.setLevel、handler.setLevel优先级

    logging.basicConfig < handler.setLevel < logger.setLevel 1.脚本中没有配置logger.setLevel会使用handler.se ...

  9. logging.basicConfig配置文件

    import sys, logging logging.basicConfig(level=logging.INFO, # 日志等级 # filename: 指定日志文件名 format='level ...

随机推荐

  1. HTML input只能输入数字

    onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onafterpaste="this.value=this.v ...

  2. js中页面跳转(href)中文参数传输方式

    编码: escape(参数); 解码: unescape(参数);

  3. Linux内核剖析 之 内存管理

    1. 内存管理区 为什么分成不同的内存管理区? ISA总线的DMA处理器有严格的限制:仅仅能对物理内存前16M寻址. 内核线性地址空间仅仅有1G,CPU不能直接訪问全部的物理内存. ZONE_DMA  ...

  4. Digest Authentication 摘要认证

    “摘要”式认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述.其身份验证机制很简单,它采用杂凑式(h ...

  5. 【树莓派】GSM900模块

    python代码 https://github.com/JFF-Bohdan/sim-module

  6. [jquery] jQuery 选择器>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)

    上篇博文[SSH进阶之路]Hibernate映射--一对一单向关联映射(五),我们介绍了一对一的单向关联映射,单向是指仅仅能从人(Person)这端载入身份证端(IdCard),可是反过来.不能从身份 ...

  8. GIS-ArcGIS 数据库备份还原

    Create directory sdebak as 'E:\10_DataFile'; alter system set deferred_segment_creation=false; ALTER ...

  9. 【RF库Collections测试】Convert To List

    Name:Convert To ListSource:Collections <test library>Arguments:[ item ]Converts the given `ite ...

  10. 使用keytool生成密钥对

    1.首先要用KeyTool工具来生成私匙库:(-alias别名 –validity 3650表示10年有效) keytool -genkey -alias privatekey -keystore p ...