码迷,mamicode.com
首页 > 其他好文 > 详细

logging模块

时间:2019-10-20 12:45:05      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:时间   war   文件中   tle   err   root   from   ogg   critical   

一.用于日志的书写

默认情况下,Python的logging模块输出到标准输出上,级别比warning大的才会输出,

默认日志级别设置为WARNING(日志级别等级critical> error>warning>info>defout>notest)

 两个方法:

  logger=logging.getLogger(logger对象名)返回一个logger对象名字默认为root

  logger.setLevel(logging.级别)设置logger的日志级别

  logger.addHandler(logger对象)添加logger对象到logger中

一些参数:

  filename:用指定的文件名创建FileHander,日志会被存储到文件中

  filemod:指定文件的打开方式,默认为“a”

  format:指定handler的日志显示格式

  datefmt:指定日期显示格式

  level:设置rootlogger的日志级别

  stream:用指定的stream创建StreamHandler,可以指定输出到sys.stderr,sys.stdout或者文件

format参数:

  %(name)s logger的名字

  %(levelno)s数字形式的日志级别

 

import  logging
logging. basic Config( level=logging.DEBUG,
                                       format=%(asctime)s%(filename)s %[line:%(lineno)d]s   %(levelname)s %(massage)s
                                         datefmt=%a  %d    %b  %y  %H:%M:%S#这是对时间格式的设置
                                        filename=test.txt#是对输出文件的名字,可以是绝对路径
                                        filemod=a#文件的模式,默认为a模式)


logging. debug(debug  massage)
logging. info(info  massage)
logging. warning(warning   massage)
logging. error(error  massage)
logging. critical( critical  massage)

 

import    logging
logger=logging.getLogger()
fh = logging.FileHandler(test.log)#创建一个handler,用于写入日志文件
ch = logging.StreamHandler()#创建一个handler,用于输出到控制台
formatter = logging.Formatter(%(asctime)s-%(name)s-%(levelname)s-%(massage)s)
fh.setFormatter(formatter)
ch.Formatter(formatter)
logger.setLevel(logging.DEBUG)
logger.debug(logger debug massage)
logger.info(logger info massage)

写一个函数用于logging模块,以后调用只需要调用该函数

import os
import time
import logging
from config import settings
def get_logger(card_num,struct_time):
    if struct_time.tm_mday<23:
        file_name = "%s_%s_%d"%
(struct_time.tm_year,struct_time.tm_mon,22)
    
    else:
        file_name = "%s_%s_%d"(struct_time.tm_year,struct_time.tm_mon+1,22)
    file_handler=logging.FileHandler(
           os.path.join(setting.USER_DIR_FOLDER,card_num,record,file_name)
        encoding=utf-8
)    
    fmt = logging.Formatter(fmt="%(asctime)s : %(massage)s")
    file_handler.setFormatter(fmt)
    logger1=logging.Logger(user_logger,level=logging.INFO)
    odder1.addHandler(file_name)
    return logger1

 

logging模块

标签:时间   war   文件中   tle   err   root   from   ogg   critical   

原文地址:https://www.cnblogs.com/gjx1212/p/11703161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!