在logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:

filename,filemode,datefmt,format,level,stream(未介绍)

import logging
logging.basicConfig(filename='日志.log', filemode='w',datefmt='%m/%d/%Y %I:%M:%S %p',
format='%(levelname)s:%(message)s--%(asctime)s',
level=logging.INFO)

logging模块    logging教程

logging用于记录(track)软件运行过程中发生的事件,事件具有开发者可赋予它的重要程度(等级importance/level/severity)

logging函数(也即等级)包含:debug、 info、warning、error、critical (level升序,对应的level即大写)。默认等级为WARNING,即只有日志级别高于等于WARNING的events才会被tracked。想要控制logging的等级,则需通过   logging.basicConfig(level=logging.DEBUG)  配置。能对被tracked的events进行一些操作处理,如打印到控制台或写到磁盘(日志)。

import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

输出:默认情况下只有日志级别高于等于WARNING的events才会打印出来

WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message

logging to file

将logging events记录输出到文件,在basicConfig中指定文件路径filename即可:(重复,则logging会追加到log文件)

logging.basicConfig(filename='日志.log',level=logging.DEBUG)

若想要不把新的logging追加记录到原来的log文件,可通过filemode指定文件方式,filemode = 'w',则是更新log文件:(之前的log会丢失)

logging.basicConfig(filename='日志.log',filemode='w',level=logging.DEBUG)

多模块logging
在多模块时管理log,可以用以下方式简单的实现:

import logging
import mymodule #自己写的模块 logging.basicConfig(filename='日志.log',level=logging.INFO)
logging.info('start')
mymodule.xxxx # 模块中需要记录log的代码
logging.info('end')

Logging 变量数据 

使用格式化字符串(%占位),并将需要的变量作为logging函数的参数来实现将变量数据输出到 log。 其他做法: str.format() and string.Template

import logging
logging.basicConfig(filename='日志.log', filemode='w', level=logging.INFO)
logging.info('start')
logging.warning('%s before you %s', 'Look', 'leap!')
logging.info('end')

输出: INFO:root:start WARNING:root:Look before you leap! INFO:root:end

 Logging格式

通过format指定格式即可: (message:即events的描述,包括变量)

import logging
logging.basicConfig(filename='日志.log', filemode='w',format='%(levelname)s:%(message)s',
level=logging.INFO)
logging.info('start')
logging.warning('%s before you %s', 'Look', 'leap!')
logging.info('end')

输出: INFO:start WARNING:Look before you leap! INFO:end  (root不见啦)

 在message中显示时间(日期)

在格式化字符串中加入‘%(asctime)s’ 即可,可用datefmt 规定时间的格式

import logging
logging.basicConfig(filename='日志.log', filemode='w',datefmt='%m/%d/%Y %I:%M:%S %p',
format='%(levelname)s:%(message)s--%(asctime)s',
level=logging.INFO)
logging.info('start')
logging.warning('%s before you %s', 'Look', 'leap!')
logging.info('end')

输出:INFO:start--11/06/2017 09:20:23 PM WARNING:Look before you leap!--11/06/2017 09:20:23 PM INFO:end--11/06/2017 09:20:23 PM

参考:

https://docs.python.org/3/howto/logging.html#logging-basic-tutorial

http://blog.csdn.net/zyz511919766/article/details/25136485/

logging日志——Basic Logging Tutorial的更多相关文章

  1. form,ajax注册,logging日志使用

    一.form表单类型提交注册信息 二.ajax版本提交注册信息 <!DOCTYPE html> <html lang="en"> <head> ...

  2. day19——包、logging日志

    day19 包 文件夹下具有______init______.py文件就是一个包 方法 import 包.包.包 from 包.包.包 import 模块 需要在______init______.py ...

  3. Python模块04/包/logging日志

    Python模块04/包/logging日志 目录 Python模块04/包/logging日志 内容大纲 1.包 2.logging日志 3.今日总结 内容大纲 1.包 2.logging日志 1. ...

  4. Python日志模块logging用法

    1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 ...

  5. 管理 python logging 日志使用

    1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上INFO:确认一切按预期运行WA ...

  6. python logging 日志使用

    https://docs.python.org/3/library/logging.html1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRI ...

  7. Oracle补全日志(Supplemental logging)

    Oracle补全日志(Supplemental logging)特性因其作用的不同可分为以下几种:最小(Minimal),支持所有字段(all),支持主键(primary key),支持唯一键(uni ...

  8. logging 日志模块学习

    logging 日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪,所以还是灰常重要滴,下面我就来从入门到放弃的系统学习一下日志既可以在屏幕上显示,又可以在文件中体现. ...

  9. python日志模块---logging

    1.将日志打印到屏幕 import logging logging.debug('This is debug message---by liu-ke') logging.info('This is i ...

随机推荐

  1. mui上拉加载会影响页面中的某些点击事件

    项目是vue写的(移动端) <div class="mui-scroll"> <a :href="bannerinfo.activity_url&quo ...

  2. [Redis] - redis实战1

    rememberMe>>>>:null Creating a new SqlSession SqlSession [org.apache.ibatis.session.defa ...

  3. Linux根目录下各个目录的用途及含义

    Linux根目录下各个目录的用途及含义 Linux ./bin 重要的二进制 (binary) 应用程序,包含二进制文件,系统的所有用户使用的命令都在这个目录下. ./boot 启动 (boot) 配 ...

  4. RFS常见问题

    一.DatabaseLibrary 库遇到的问题:1,连接mysql库,查询语句带有中文,报FAIL UnicodeEncodeError: 'latin-1' codec can't encode ...

  5. Unity自定义定时器,模拟协程,脱离MonoBehavior控制

    using System; using System.Collections.Generic; using System.Timers; public class PETimer { private ...

  6. UVALive - 5857 Captain Q's Treasure

    UVALive - 5857 思路: 状压dp,用map写 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimi ...

  7. linux与windows实现文件交互

    Linux--用SecureCRT来上传和下载文件 SecureCRT下的文件传输协议有以下几种:ASCII.Xmodem.Ymodem.Zmodem ASCII:这是最快的传输协议,但只能传送文本文 ...

  8. Python自学:第三章 根据值删除元素

    motorcycles = ["honda", "yamaha", "suzuki", "ducati"] print( ...

  9. JVM内存模型和GC机制

    目录 1.JVM内存模型 2.GC 1.JVM内存模型 堆,栈,本地方法栈,方法区,程序计数器 2.GC 新生代收集器:Serial(单线程).ParNew.Parallel Scavenge: 老年 ...

  10. 延迟提交form

    提交按钮延迟提交form表单 function a(){document.getElementById('form1').submit();}setTimeout(a,5000);