模块 -logging
模块 -logging
一:在控制台显示:默认
|
import logging logging.debug("debug") logging.info("debug") logging.warning("warning") logging.error("error") logging.critical("critical") |
二.输入到文件,并且设置等级:
|
import logging logging.basicConfig(filename="hello.log",level=logging.DEBUG, format='%(asctime)s %(name)s %(filename)s %(thread)d [%(levelno)s] : %(message)s',) logging.debug("debug") logging.info("debug") logging.warning("warning") logging.error("error") logging.critical("critical") |
使用到logging.basicConfig()
|
filename Specifies that a FileHandler be created, using the specified filename, rather than a StreamHandler. filemode Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to 'a'). format Use the specified format string for the handler. datefmt Use the specified date/time format. style If a format string is specified, use this to specify the type of format string (possible values '%', '{', '$', for %-formatting, :meth:`str.format` and :class:`string.Template` - defaults to '%'). level Set the root logger level to the specified level. stream Use the specified stream to initialize the StreamHandler. Note that this argument is incompatible with 'filename' - if both are present, 'stream' is ignored. handlers If specified, this should be an iterable of already created handlers, which will be added to the root handler. Any handler in the list which does not have a formatter assigned will be assigned the formatter created in this function. |
Format的使用:
|
使用help( logging.Formatter)查看使用方法 |
|
| %(name)s Name of the logger (logging channel) | %(levelno)s Numeric logging level for the message (DEBUG, INFO, | WARNING, ERROR, CRITICAL) | %(levelname)s Text logging level for the message ("DEBUG", "INFO", | "WARNING", "ERROR", "CRITICAL") | %(pathname)s Full pathname of the source file where the logging | call was issued (if available) | %(filename)s Filename portion of pathname | %(module)s Module (name portion of filename) | %(lineno)d Source line number where the logging call was issued | (if available) | %(funcName)s Function name | %(created)f Time when the LogRecord was created (time.time() | return value) | %(asctime)s Textual time when the LogRecord was created | %(msecs)d Millisecond portion of the creation time | %(relativeCreated)d Time in milliseconds when the LogRecord was created, | relative to the time the logging module was loaded | (typically at application startup time) | %(thread)d Thread ID (if available) | %(threadName)s Thread name (if available) | %(process)d Process ID (if available) | %(message)s The result of record.getMessage(), computed just as | the record is emitted |
三.既想在控制台输出,也想输入文件,甚至使用udp发出.
写法一:
|
import logging logger = logging.getLogger() fh = logging.FileHandler("test1",encoding="utf-8") sh = logging .StreamHandler() fm = logging.Formatter( '%(asctime)s %(name)s %(filename)s %(thread)d [%(levelno)s] : %(message)s', "%Y-%m-%d" ) sh.setFormatter(fm) fh.setFormatter(fm) logger.setLevel(logging.DEBUG) logger.debug("debug") logger.info("debug") logger.warning("warning") logger.error("error") logger.critical("critical") |
方法二:
|
import logging logger = logging.Logger("test", level=logging.DEBUG) sh = logging.StreamHandler() fh = logging.FileHandler("test1", encoding="utf-8") fm = logging.Formatter( '%(asctime)s %(name)s %(filename)s %(thread)d [%(levelno)s] : %(message)s', ) sh.setFormatter(fm) logger.addHandler(sh) logger.addHandler(fh) logger.debug("debug") logger.info("debug") logger.warning("warning") logger.error("error") logger.critical("critical") |
明天补充udp
-----------------------------------2017年10月27日11:30:09-----------------------更新---------------------------------------------
udp,,,,2333333333
方法三:
|
import logging.handlers # 创建handlers rfh = logging.handlers.RotatingFileHandler("ttt", mode='a', maxBytes=1024*10*10, backupCount=3, encoding="utf-8", delay=False) slh=logging.handlers.SysLogHandler(address=('192.168.1.5', 1234)) sh=logging.StreamHandler() # 设置basicConfig logging.basicConfig( level=logging.DEBUG, format='%(asctime)s %(name)s %(filename)s %(thread)d [%(lineno)d] : %(message)s', handlers=[rfh,slh,sh] ) logging.debug("debug") logging.info("debug") logging.warning("warning") logging.error("error") logging.critical("critical") |
handlers
具体:
|
http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html logging.StreamHandler: 日志输出到流,可以是sys.stderr、sys.stdout或者文件 logging.FileHandler: 日志输出到文件 日志回滚方式,实际使用时用RotatingFileHandler和TimedRotatingFileHandler logging.handlers.BaseRotatingHandler logging.handlers.RotatingFileHandler logging.handlers.TimedRotatingFileHandler logging.handlers.SocketHandler: 远程输出日志到TCP/IP sockets logging.handlers.DatagramHandler: 远程输出日志到UDP sockets logging.handlers.SMTPHandler: 远程输出日志到邮件地址 logging.handlers.SysLogHandler: 日志输出到syslog logging.handlers.NTEventLogHandler: 远程输出日志到Windows NT/2000/XP的事件日志 logging.handlers.MemoryHandler: 日志输出到内存中的制定buffer logging.handlers.HTTPHandler: 通过"GET"或"POST"远程输出到HTTP服务器 |
模块 -logging的更多相关文章
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- 日志模块logging使用心得
在应用程序使用中,日志输出对应用维护人员.开发人员判断程序的问题起重要作用. 那么在python中如何定义程序的日志输出? 推荐使用日志模块logging 需求:实现日志内容输出在文件中和控制器中 i ...
- python日志模块logging
python日志模块logging 1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种( ...
- Python 日志模块logging
logging模块: logging是一个日志记录模块,可以记录我们日常的操作. logging日志文件写入默认是gbk编码格式的,所以在查看时需要使用gbk的解码方式打开. logging日志等级: ...
- shelve模块,sys模块,logging模块
1.shelve模块 用于序列化的模块,shelve模块比pickle模块简单,只有open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型. impor ...
- python最重要的模块logging
logging模块 这个模块是目前最重要的模块!!!我一定给讲透彻一点 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python中的loggi ...
- Python标准模块--logging(转载)
转载地址:http://www.cnblogs.com/zhbzz2007/p/5943685.html#undefined Python标准模块--logging 1 logging模块简介 log ...
- os模块/sys模块/json/pickle模块/logging模块(day16整理)
目录 今日内容 os模块 对文件操作 对文件夹此操作 辅助性的 了解 sys模块 json和pickle模块 json模块 pickle模块 logging模块 日志级别 添加设置 自定义配置 今日内 ...
- Python日志模块logging简介
日志处理是项目的必备功能,配置合理的日志,可以帮助我们了解系统的运行状况.定位位置,辅助数据分析技术,还可以挖掘出一些额外的系统信息. 本文介绍Python内置的日志处理模块logging的常见用法. ...
随机推荐
- GRpc-Proto3语法
syntax = "proto3"; 文件的第一行指定了你使用的是proto3的语法:如果你不指定,protocol buffer 编译器就会认为你使用的是proto2的语 ...
- js 屏蔽非数字字符输入
在有输入字符为数字字符的需求时,首先想到的是设置 input 的 type 为 number / tel,原因见之前的 移除input number的上下箭头 . 好巧不巧的时,在最见的项目中,碰到了 ...
- to_string函数(将数字转换成字符串)
一般常用的转换字符串的方法std::stringstream,但是效率较低;目前C ++11提供了std::to_string 效率方面:C风格的sprintf()没有动态分配内存效率最高;std:: ...
- Java之秒杀活动解决方案
0 引言 本文主要描述,服务端做相关秒杀活动的时候,对应的解决方案,即高并发下的数据安全. 1 优化方案 1.1 乐观锁思路 Redis中的watch,请求时,通过Redis查询当前抢购数据,如果当前 ...
- springMVC传递对象参数
初学java,由于项目紧急,来不及仔细的研究,在传递参数时就老老实实的一个一个的采用@RequestParam注解方式传递,最近认真看了一下,发现java也具有类似Asp.net Mvc传递对象做参数 ...
- MBR和GPT分区学习
1.MBR 早期的windows和linux都采用的MBR的方法来处理开机引导程序和分区表,对于linux的MBR分区来讲,0柱面0磁道1扇区用于引导驱动程序,第一扇区有512个字节,前446字节存放 ...
- 火狐浏览器安装接口测试工具RESTClient方法
- SQL注入、占位符拼接符
一.什么是SQL注入 官方: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意 ...
- Mysql优化之优化工具profiling
程序员的成长之路 2016-11-23 22:42 Mysql优化之优化工具profiling 前言 mysql优化技术: mysql优化不是做一个操作就可以的优化,它包含很多的细节,需要一点一点的优 ...
- PatentTips - Safe general purpose virtual machine computing system
BACKGROUND OF THE INVENTION The present invention relates to virtual machine implementations, and in ...