模块 -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. oracle插入或更新某一个指定列来执行触发器

    表结构: create table TZ_GXSX ( ID VARCHAR2(15), PROJECT VARCHAR2(50), TXYX NUMBER(22) default '0', CDAT ...

  2. CDR实例教程-高考789,敢拼就能赢!

    本教程是我去年做的一个案例,本来今年想要在做一个,突然意识到今天就是高考日了,没来的及,所以大家将就看些.7.8.9是值得一生纪念的日子,也是以后的每年都会怀念的日子,因为是全国都在上演史诗大剧“决战 ...

  3. 常用的GNOME Shell 扩展

    GNOME Shell(即GNOME 3)桌面环境最初进军Linux世界时,众多批评人士指出其灵活性有所欠缺.当初外观有所突破的GNOME确实会给生产效率带来一些影响,然而它多年来一直默默通过多种方式 ...

  4. 【Django】创建后的基本操作

    1.创建Django项目做基本的配置步骤Pycharm->new->New Project 2.基本的配置settings.py-->STATIC_URL = '/static/'后 ...

  5. NodeJS加密算法(转)

    nodejs中常用加密算法   1.Hash算法加密: 创建一个nodejs文件hash.js,输入内容如下: 1 var crypto = require('crypto'); //加载crypto ...

  6. [LeetCode] 242. 有效的字母异位词 valid-anagram(排序)

    注意这里字母异位词的定义是:字母类别及个数都要一样,只是排列顺序不同. class Solution(object): def isAnagram(self, s, t): ""& ...

  7. vue懒加载

    vue懒加载(白屏或者加载慢的解决方法) 懒加载:也叫延迟加载,即在需要的时候进行加载,随用随载. 为什么需要懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异 ...

  8. Linux学习总结(16)——CentOS 下 Nginx + Tomcat 配置负载均衡

    最近在读埃隆·马斯克传记,他说「我认为现在有非常多的聪明人都在致力于互联网」. 仔细一想,好像真的是这样的. 我问了自己一个问题:如果你不敲代码了,你能做什么? 答案令人极其恐怖.吓得我赶紧又去写了一 ...

  9. ASP.NET-未解决的问题

    001.((FormsIdentity)User.Identity).Ticket.UserData 用ASP.NET后台格式化成json数据后传回去的数据有&quot这样的符号 002.HT ...

  10. POJ3624 Charm Bracelet 【01背包】

    Charm Bracelet Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22621   Accepted: 10157 ...