logging的配置大致有下面几种方式。

1、        通过代码进行完整配置,logging.getLogger()获取logger后,给logger设置各种handler。

2.        通过代码进行简单配置,通过logging.basicConfig()方法配置后,直接logging.getLogger(),无需对获取的logger再配置。

3、        通过配置文件,主要是通过 logging.config.fileConfig(filepath)

相关类和函数

支持参数

logging.basicConfig([**kwargs])

filename :日志文件的保存路径。如果配置了些参数,将自动创建一个FileHandler作为Handler;

filemode :日志文件的打开模式。 默认值为’a’,表示日志消息以追加的形式添加到日志文件中。如果设为’w’, 那么每次程序启动的时候都会创建一个新的日志文件;

format :设置日志输出格式;

datefmt :定义日期格式;

level :设置日志的级别.对低于该级别的日志消息将被忽略;

stream :设置特定的流用于初始化StreamHandler;

logging.getLogger([name])

 

handler

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

2. logging.FileHandler: 日志输出到文件

3. logging.handlers.BaseRotatingHandler  #日志轮替存储方式,实际使用时用RotatingFileHandler和TimedRotatingFileHandler

4. logging.handlers.RotatingFileHandler

5. logging.handlers.TimedRotatingFileHandler

6. logging.handlers.SocketHandler: 远程输出日志到TCP/IP sockets

7. logging.handlers.DatagramHandler:  远程输出日志到UDP sockets

8. logging.handlers.SMTPHandler:  远程输出日志到邮件地址

9. logging.handlers.SysLogHandler: 日志输出到syslog

10. logging.handlers.NTEventLogHandler: 远程输出日志到Windows NT/2000/XP的事件日志

11. logging.handlers.MemoryHandler: 日志输出到内存中的制定buffer

12. logging.handlers.HTTPHandler: 通过"GET"或"POST"远程输出到HTTP服务器

format

● %(name)s Logger的名字

● %(levelno)s 数字形式的日志级别

● %(levelname)s 文本形式的日志级别

● %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有

● %(filename)s 调用日志输出函数的模块的文件名

● %(module)s 调用日志输出函数的模块名|

● %(funcName)s 调用日志输出函数的函数名|

● %(lineno)d 调用日志输出函数的语句所在的代码行

● %(created)f 当前时间,用UNIX标准的表示时间的浮点数表示|

● %(relativeCreated)d 输出日志信息时的,自Logger创建以来的毫秒数|

● %(asctime)s 字符串形式的当前时间。默认格式是“2003-07-08 16:49:45,896”。逗号后面的是毫秒

● %(thread)d 线程ID。可能没有

● %(threadName)s 线程名。可能没有

● %(process)d 进程ID。可能没有

● %(message)s 用户输出的消息

会优先使用当前线程的日志对象写日志。

python之log日志模块的更多相关文章

  1. Python 中 logging 日志模块在多进程环境下的使用

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 中 logging 日志模块在多进程环境下的使用 使用 Pytho ...

  2. python的logging日志模块(一)

    最近修改了项目里的logging相关功能,用到了Python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 ...

  3. python中的日志模块logging

    1.日志级别5个: 警告Warning 一般信息Info  调试 Debug  错误Error 致命Critical 2.禁用日志方法 logging.disable(logging.DEBUG) 3 ...

  4. 【python】logging日志模块写入中文编码错误解决办法

    一.问题: 使用python的logging模块记录日志,有时会遇到中文编码问题错误. 二.解决办法: 在logging.FileHandler(path) 中添加指定编码方式 encoding='u ...

  5. python原生的日志模块

    Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍 1. 日志级别 日志一共分成5个等级,从低到高分别是: DEBUG INFO WARNING ERROR C ...

  6. Python学习之==>日志模块

    一.logging模块介绍 logging是Python中自带的标准模块,是Python中用来操作日志的模块. 1.控制台输出日志 import logging logging.basicConfig ...

  7. python基础:日志模块logging,nnlog

    python里面用来打印日志的模块,就是logging模块,logging模块可以在控制台打印日志,也可以写入文件中.也可以两个操作都执行 1.控制台输入 import logging#导入模块 lo ...

  8. Python包和日志模块

    1.什么是包    包是模块的一种形式,包的本质就是一个含有__init__.py文件的文件夹 2.为什么要有包 提高开发人员维护性 3.如何用包    导入包就是在导包下的__init__.py   ...

  9. Python Django log日志

    log日志 log开发日志 一.创建项目 1.python -m venv ll_env # 创建虚拟环境 2.source ll_env/bin/activate # 激活虚拟环境 3.pip in ...

随机推荐

  1. Ubuntu 16.04下配置Golang开发环境

    安装之前先要明白两个变量,后面介绍安装时,会用这两个变量 GOROOT   , 这是go的工作目录,比如 /home/[替换为你的用户名]/go/work GOPATH    , 这是go的安装目录, ...

  2. Android调用JNI本地方法经过有点改变

    方法注册好后要经过哪些路 Android一个异常捕获项目 https://github.com/xroche/coffeecatch coffeecatch CoffeeCatch, a tiny n ...

  3. 用Q-learning算法实现自动走迷宫机器人

    项目描述: 在该项目中,你将使用强化学习算法,实现一个自动走迷宫机器人. 如上图所示,智能机器人显示在右上角.在我们的迷宫中,有陷阱(红色炸弹)及终点(蓝色的目标点)两种情景.机器人要尽量避开陷阱.尽 ...

  4. scikit-learn:4.2. Feature extraction(特征提取,不是特征选择)

    http://scikit-learn.org/stable/modules/feature_extraction.html 带病在网吧里. ..... 写.求支持. .. 1.首先澄清两个概念:特征 ...

  5. 多线程(C++)临界区Critical Sections

    一 .Critical Sections(功能与Mutex相同,保证某一时刻只有一个线程能够访问共享资源,但是不是内核对象,所以访问速度比Mutex快,但是没有等待超时的功能,所以有可能导致死锁,使用 ...

  6. 线程中调用Updatedata的问题

    随便发个自定义消息,然后在 CMyDialog的自定义消息处理函数中 UpdateDate().因为 UpdateDate用到了线程本地存储.不能跨线程的 UpdateData只能在主线程中使用,将U ...

  7. 九度OJ 1140:八皇后 (八皇后问题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:795 解决:494 题目描述: 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * ...

  8. go echo studygolang ___go_build_myT_go__1_.exe

    https://github.com/studygolang/studygolang [stat]; 用户在线数据存到哪里:redis -> 表示存入 redis,这样支持多机部署; onlin ...

  9. Why containers? Why should we care? 新旧容器的对比

    https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ The Old Way to deploy applications ...

  10. Jquey模糊选择

    Jquey模糊选择   属性字头选择器(Attribute Contains Prefix Selector): jQuery 属性字头选择器的使用格式是 jQuery(‘[attribute|=va ...