模块 -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服务器

最新文章

  1. Java程序员应该知道的10个调试技巧
  2. 数据库递归查询-CTE
  3. Bootstrap3.0学习第九轮(CSS补充)
  4. SPRING IN ACTION 第4版笔记-第九章Securing web applications-011-把敏感信息请求转为https(requiresChannel())
  5. hadoop2.6.0+eclipse配置
  6. Git教程之管理修改(6)
  7. IE兼容低版本
  8. live555的编译及使用
  9. ES6 系列之我们来聊聊装饰器
  10. HR_Two Strings
  11. AI时代的OCR识别技术浅析
  12. 如何创建线程第二种实现Runnable接口
  13. cJSON学习笔记 续集
  14. python正则表达式1
  15. C++ STL 整理
  16. Linux学习笔记(第九章)
  17. GoWeb_01:GoWeb基础之mac上mysql安装
  18. Dynamic Programming for TSP
  19. Spring Boot与数据
  20. Android API之android.view.View.MeasureSpec

热门文章

  1. innobackupex: Error: --decompress requires qpress
  2. 【前端分享】 JavaScript最经典的55个技巧(转)
  3. ZBrush中如何把模型的细节映射到低模上
  4. tinymce原装插件源码分析(七)-使能css、script
  5. [CodeForces]500B New Year Permutation
  6. springboot---web 应用开发-文件上传
  7. webpack基础知识点
  8. MQTT学习
  9. LeetCode_Maximum Depth of Binary Tree
  10. hdu Escape