标签:handlers 格式 module ons 单位 取值 文本 UNC coding
logging基本用法import logging
import sys
logging.basicConfig(filename=‘app.log‘,
level=logging.INFO,format=‘%(asctime)s %(filename)s--%(message)s‘,datefmt=‘%m/%d/%Y %I:%M:%S %p‘)
#日志级别从低到高
logging.debug(‘This message should go to the 厉害了‘)
logging.info(‘So should this‘)
logging.warning(‘And this, too‘)
logging.error("test eror")
logging.critical("server is 厉害了")
%(name)sLogger的名字
%(levelno)s数字形式的日志级别
%(levelname)s文本形式的日志级别
%(pathname)s调用日志输出函数的模块的完整路径名,可能没有
%(filename)s调用日志输出函数的模块的文件名
%(module)s调用日志输出函数的模块名
%(funcName)s调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d线程ID。可能没有
%(threadName)s线程名。可能没有
%(process)d进程ID。可能没有
%(message)s用户输出的消息
import logging
#create logger #默认输出到屏幕
logger = logging.getLogger(‘TEST_LOG‘) #logger名
logger.setLevel(logging.DEBUG)
#create console handler and set level to debug 输出到屏幕
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
#create file handler and set level to warning #输出到文件
fh = logging.FileHandler("access.log")
fh.setLevel(logging.ERROR)
#create formatter 输出的日志格式
fh_formatter = logging.Formatter(‘%(asctime)s ‘
‘- %(levelname)s‘
‘ - %(message)s‘
‘-%(module)s‘
‘%(name)s‘)
ch_formatter = logging.Formatter(
‘- %(levelname)s %(filename)s: - %(message)s‘)
fh.setFormatter(fh_formatter)
ch.setFormatter(ch_formatter)
logger.addHandler(fh)
logger.addHandler(ch)
logger.debug(‘This message should go to the log file‘)
logger.info(‘So should this‘)
logger.warning(‘And this, too‘)
logger.error("test eror")
logger.critical("server is down")
import logging
from logging import handlers
logger = logging.getLogger("TEST")
log_file = "time.log"
#fh = handlers.RotatingFileHandler(filename=log_file,backupCount=3,maxBytes=10,encoding="utf-8") #按字节和文件数量截断
fh = handlers.TimedRotatingFileHandler(filename=log_file,when="S",interval=5,backupCount=3) #按时间来截断同时按照文件数量截断
formatter = logging.Formatter(‘%(asctime)s %(module)s:%(lineno)d %(message)s‘)
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.warning("test1") #按文件数量截断
logger.warning("test12")
logger.warning("test13")
logger.warning("test14")
logger.warning("test15")
logger.warning("test16")
import time #按时间截断
logger.warning("test1")
time.sleep(3)
logger.warning("test12")
time.sleep(3)
logger.warning("test13")
time.sleep(3)
logger.warning("test14")
logger.warning("test15")
time.sleep(3)
logger.warning("test16")
标签:handlers 格式 module ons 单位 取值 文本 UNC coding
原文地址:http://blog.51cto.com/12992048/2286071