python日志配置文件_Python 日志模块 logging通过配置文件方式使用

vim logger_config.ini

[loggers]

keys=root,infoLogger,errorlogger

[logger_root]

level=DEBUG

handlers=infohandler,errorhandler

[logger_infoLogger]

handlers=infohandler

qualname=infoLogger

propagate=0

[logger_errorlogger]

handlers=errorhandler

qualname=errorlogger

propagate=0

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

[handlers]

keys=infohandler,errorhandler

[handler_infohandler]

class=StreamHandler

level=INFO

formatter=form02

args=(sys.stdout,)

[handler_errorhandler]

class=FileHandler

level=ERROR

formatter=form01

args=('logs/mylog.log', 'a')

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

[formatters]

keys=form01,form02

[formatter_form01]

format=%(asctime)s %(filename)s %(levelname)s %(message)s

datefmt=%Y-%m-%d %H:%M:%S

[formatter_form02]

format=%(asctime)s %(filename)s %(levelname)s %(message)s

datefmt=%Y-%m-%d %H:%M:%S

字段说明:

[loggers]

# 定义logger模块,root是父类,必需存在的,其它的是自定义。

# logging.getLogger(NAME)便相当于向logging模块注册了一种日志打印

# name 中用 . 表示 log 的继承关系

[handlers]

# 定义handler

[formatters]

# 定义格式化输出

[logger_root]

# 实现上面定义的logger模块,必需是[logger_xxxx]这样的形式

# [logger_xxxx] logger_模块名称

# level 级别,级别有DEBUG、INFO、WARNING、ERROR、CRITICAL

# handlers 处理类,可以有多个,用逗号分开

# qualname logger名称,应用程序通过 logging.getLogger获取。对于不能获取的名称,则记录到root模块。

# propagate 是否继承父类的log信息,0:否 1:是

[handler_infohandler]

# [handler_xxxx]

# class handler类名

# level 日志级别

# formatter,上面定义的formatter

# args handler初始化函数参数

[formatter_form01]

# 日志格式

#--------------------------------------------------

# %(asctime)s 年-月-日 时-分-秒,毫秒 2013-04-26 20:10:43,745

# %(filename)s 文件名,不含目录

# %(pathname)s 目录名,完整路径

# %(funcName)s 函数名

# %(levelname)s 级别名

# %(lineno)d 行号

# %(module)s 模块名

# %(message)s 消息体

# %(name)s 日志模块名

# %(process)d 进程id

# %(processName)s 进程名

# %(thread)d 线程id

# %(threadName)s 线程名

使用方式:

from logging.config import fileConfig

fileConfig('loggin_config.ini')

logger=logging.getLogger('infoLogger')

logger.info('test1')

logger_error=logging.getLogger('errorhandler')

logger_error.error('test5')

python日志模块logging

python日志模块logging   1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种( ...

python日志模块logging学习

介绍 Python本身带有logging模块,其默认支持直接输出到控制台(屏幕),或者通过配置输出到文件中.同时支持TCP.HTTP.GET/POST.SMTP.Socket等协议,将日志信息发送到网 ...

【python】【logging】python日志模块logging常用功能

logging模块:应用程序的灵活事件日志系统,可以打印并自定义日志内容 logging.getLogger 创建一个log对象 >>> log1=logging.getLogger ...

Python 日志模块logging

logging模块: logging是一个日志记录模块,可以记录我们日常的操作. logging日志文件写入默认是gbk编码格式的,所以在查看时需要使用gbk的解码方式打开. logging日志等级: ...

Python日志模块logging用法

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

Python日志模块logging简介

日志处理是项目的必备功能,配置合理的日志,可以帮助我们了解系统的运行状况.定位位置,辅助数据分析技术,还可以挖掘出一些额外的系统信息. 本文介绍Python内置的日志处理模块logging的常见用法. ...

Python日志模块logging&JSON

日志模块的用法 json部分 先开一段测试代码:注意  str可以直接处理字典   eval可以直接将字符串转成字典的形式 dic={'key1':'value1','key2':'value2'} ...

python日志模块---logging

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

Python—日志模块(logging)和网络模块

https://blog.csdn.net/HeatDeath/article/details/80548310 https://blog.csdn.net/chosen0ne/article/det ...

随机推荐

Twitter面试题蓄水池蓄水量算法(原创 JS版,以后可能会补上C#的)

之前在群里有人讨论Twitter的面试题,蓄水池蓄水量计算,于是自己写了个JS版的(PS:主要后台代码还要编译,想想还是JS快,于是就使用了JS了.不过算法主要还是思路嘛,而且JS应该都没问题吧^_^ ...

Ecshop:后台添加新功能栏目以及管理权限设置

一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...

Android中的dp, px, pt

定义: px是像素,表示屏幕显示的最小元素单位 pt是磅数,一磅等于1/72英寸,一般用来作为字体的单位使用 问题: px和pt不使用于手机,因为同样的px在高低分辨率的手机上显示的比例不同 解决办法 ...

linux下emacs配置文件

1:安装.在ubuntu下使用命令 sudo apt-get install emacs,即可,我使用的是ubuntu的10.04的版本,在里面使用了据说是163的2个源. 1.1:如何更新快速的源, ...

VS2010/MFC对话框:文件对话框

文件对话框 上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类       文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中 ...

POJ 1655 - Balancing Act 树型DP

这题和POJ 3107 - Godfather异曲同工...http://blog.csdn.net/kk303/article/details/9387251 Program: #include&l ...

Cygwin 各种情况下中文乱码--终极解决方案

0.引言 本人从进公司以来一直负责公司Android平台下产品的NDK开发,用的工具: 01. Google的adt-bundle(集成了eclipse和sdk) 02. NDK 03. Cygwin ...

题目1031:xxx定律

题目描述: 对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止. 请计算需要经过几步才能将n变到1,具体可见样例. 输入: 测试包含多个用例,每 ...

ASP.NET Zero--基于令牌的认证&SWAGGER UI

基于令牌的认证 任何应用程序都可以将应用程序中的任何功能认证和使用为API.例如,您可以创建一个移动应用程序消耗相同的API.在本节中,我们将演示来自Postman的API (Google Chrom ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值