模块 -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的更多相关文章

  1. Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  2. 日志模块logging使用心得

    在应用程序使用中,日志输出对应用维护人员.开发人员判断程序的问题起重要作用. 那么在python中如何定义程序的日志输出? 推荐使用日志模块logging 需求:实现日志内容输出在文件中和控制器中 i ...

  3. python日志模块logging

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

  4. Python 日志模块logging

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

  5. shelve模块,sys模块,logging模块

    1.shelve模块 用于序列化的模块,shelve模块比pickle模块简单,只有open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型. impor ...

  6. python最重要的模块logging

    logging模块 这个模块是目前最重要的模块!!!我一定给讲透彻一点 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python中的loggi ...

  7. Python标准模块--logging(转载)

    转载地址:http://www.cnblogs.com/zhbzz2007/p/5943685.html#undefined Python标准模块--logging 1 logging模块简介 log ...

  8. os模块/sys模块/json/pickle模块/logging模块(day16整理)

    目录 今日内容 os模块 对文件操作 对文件夹此操作 辅助性的 了解 sys模块 json和pickle模块 json模块 pickle模块 logging模块 日志级别 添加设置 自定义配置 今日内 ...

  9. Python日志模块logging简介

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

随机推荐

  1. 给大家介绍几个常见的Android代码片段

    今天在源码天堂那个网站,也下载了一个不错的Android源码特效,现在分享一下给博客园的朋友吧,个人觉得那个网站还是挺不错的,希望大家能够使用得上. 仿美图秀秀拼图功能源码 仿美图秀秀拼图功能源码,最 ...

  2. Cacti部署之配置防火墙

    因为SNMP协议通信会使用udp 的161端口和tcp的199端口,因此需要在防火墙上将其开启 开启入站端口   保存数据或者重启服务   测试SNMP工具连接是否可获取信息     注意:要能使用s ...

  3. php版本过低错误导致的laravel 错误:Illuminate\Foundation\helpers.php on line 233; syntax error, unexpected '?'

    今天运行laravel项目发现出现错误: Parse error: syntax error, unexpected '?'  ..\vendor\laravel\framework\src\Illu ...

  4. HDU 3068 最长回文( Manacher模板题 )

    链接:传送门 思路:Manacher模板题,寻找串中的最长回文子串 /***************************************************************** ...

  5. BZOJ 2314 士兵的放置(支配集)

    显然是\(DP\). 设\(dp[i][0/1/2]\)代表以i为根且\(i上有士兵放置/i被控制但i上没有士兵/i没有被控制\)的最小代价. \(g[i][0/1/2]\)代表对应的方案数. 然后运 ...

  6. Informatica PowerCenter使用介绍-转载

    转载自:https://blog.csdn.net/wen_demon/article/details/44155639 1. INFORMATICA CLIENT的使用1.1 Repository ...

  7. WinServer-IIS-svg/woff/woff2字体 404错误

    问题:最近在IIS上部署web项目的时候,发现浏览器总是报找不到woff.woff2字体的错误.导致浏览器加载字体报404错误,白白消耗了100-200毫秒的加载时间. 原因:因为服务器IIS不认SV ...

  8. ASP.NET-Session cooike

    Application .Cookie和 Session 两种会话有什么不同 答:Application是用来存取整个网站全局的信息,而Session是用来存取与具体某个访问者关联的信息, Sessi ...

  9. java用freemarker实现导出excel

    前几天做了jxl导出excel,现在用freemarker做一下 freemarker导出excel和导出word步骤和是实现方法是相同的. 1.制作excel模板 2.将后缀名改为ftl,放到对应的 ...

  10. 日志工具全面理解及配置应用---以Log4j例子

    一.日志系统基本常识 1.日志系统作用:将日志信息输出到控制台和文本文件,以追踪代码运行信息. 2.日志系统操作的是什么?日志系统打印信息,也是调用日志系统的log.Info(),log.Warn() ...