精华内容
下载资源
问答
  • 日志

    2018-11-18 13:03:00
    1.日志(1) import logginglogging.basicConfig(level=logging.INFO,filename='runlog.log',filemode='w',format='%(asctime)s %(filename)s[line:%(lineno)d]%(levelname)s%(message)s')logging...

    1. 日志(1

    import logging
    logging.basicConfig(level=logging.INFO,filename='runlog.log',filemode='w',
                        format='%(asctime)s %(filename)s[line:%(lineno)d]%(levelname)s%(message)s')
    logging.info('I love my mother')

    2. 日志(2

    log.conf 文件:

    [loggers]
    keys=root,infoLogger

    [logger_root]
    level=DEBUG
    handlers=consoleHandler,fileHandler

    [logger_infoLogger]
    handlers=consoleHandler,fileHandler
    qualname=infoLogger
    propagate=0

    [handlers]
    keys=consoleHandler,fileHandler

    [handler_consoleHandler]
    class=StreamHandler
    level=INFO
    formatter=form02
    args=(sys.stdout,)

    [handler_fileHandler]
    class=FileHandler
    level=INFO
    formatter=form01
    args=('runlog.log', 'a')

    [formatters]
    keys=form01,form02

    [formatter_form01]
    format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s

    [formatter_form02]
    format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s

     

    Xx.py

    import logging.config

    CON_LOG='log.conf'
    logging.config.fileConfig(CON_LOG)
    logging=logging.getLogger()

    logging.info('ok')

     

     

     

    3. 自定义日志(3)

    # 日志文件
    if os.path.isfile('banMa.log'):
    with open('banMa.log','w') as f:
    f.truncate()

    def write_log(str):
    rtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))

    with open('banMa.log','a') as file:
    file.write('[%s] %s %s -->%s\n'% (sys._getframe().f_lineno,rtime,__file__,str))

    转载于:https://www.cnblogs.com/zhang-dan/p/9977593.html

    展开全文
  • python日志格式

    2019-05-14 21:09:34
    python输出日志时的格式化 输出日志时的格式化 名称 说明 %(levelno)s 打印日志级别的数值 %(levelname)s 打印日志级别名称 %(pathname)s 打印当前执行程序的...%(lineno)d 打印日志的当前行号 %(asctime)s 打印日...

    python输出日志时的格式化

    输出日志时的格式化

    名称	说明
    %(levelno)s	打印日志级别的数值
    %(levelname)s	打印日志级别名称
    %(pathname)s	打印当前执行程序的路径,其实就是sys.argv[0]
    %(filename)s	打印当前执行程序名
    %(funcName)s	打印日志的当前函数
    %(lineno)d	打印日志的当前行号
    %(asctime)s	打印日志的记录时间
    %(thread)d	打印线程ID
    %(threadName)s	打印线程的名称
    %(process)d	打印进程的ID
    %(message)s	打印日志的信息
    

    例如
    scrapy setting.py设置内容
    LOG_ENABLED = True
    LOG_ENCODING = ‘utf-8’
    LOG_LEVEL = “WARNING”
    LOG_FORMAT = ‘%(message)s’
    LOG_FILE = ‘./log.log’
    输出效果如下 没了日志级别和时间
    在这里插入图片描述

    展开全文
  • logging 日志

    2020-08-18 10:07:28
    logging打印日志可以便于代码的运营检查。 1 输出到控制台 logging.basicConfig( format='%(asctime)s - line:%(lineno)d - %(levelname)s: %(message)s', level=logging.INFO) 2 输出到文件 当设置filename属性...

    logging打印日志可以便于代码的运营检查。

    1. 输出到控制台

    logging.basicConfig(
            format='%(asctime)s - line:%(lineno)d - %(levelname)s: %(message)s',
            level=logging.INFO)
    

    2. 输出到文件

    • 当设置filename属性后,logging将不会输出到控制台
    LOG_FORMAT = "%(asctime)s %(name)s %(levelname)s %(pathname)s %(message)s "
    DATE_FORMAT = '%Y-%m-%d  %H:%M:%S %a '
    logging.basicConfig(level=logging.INFO,
                        format=LOG_FORMAT,
                        datefmt=DATE_FORMAT,
                        filename=path + filename)
    

    3. 同时输出到文件与控制台

    • 采用StreamHandler、FileHandler进行配置
    import logging
    
    
    class Logger(object):
        # 日志输出级别
        level_relations = {
            'debug': logging.DEBUG,
            'info': logging.INFO,
            'warning': logging.WARNING,
            'error': logging.ERROR,
            'critical': logging.CRITICAL
        }
    
        def __init__(
                self,
                filename,
                level='info',
                fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):
            self.logger = logging.getLogger(filename)
            # 设置日志格式
            format_str = logging.Formatter(fmt)
            # 设置日志级别
            self.logger.setLevel(self.level_relations.get(level))
            # 输出到控制台
            sh = logging.StreamHandler()
            sh.setFormatter(format_str)
            # 输出到文件
            th = logging.FileHandler(
                filename=filename,
                encoding='utf-8',
                mode='a')
            th.setFormatter(format_str)
    
            self.logger.addHandler(sh)
            self.logger.addHandler(th)
    
    
    if __name__ == '__main__':
        log = Logger('print.log', level='info')
        for i in range(10):
            log.logger.info(i)
    
    展开全文
  • logging日志

    2019-10-03 04:31:52
    1.在settings配置文件中配置以下...# 定义三种日志输出格式 开始 standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \ '[%(levelname)s][%(message)s]'...

    1.在settings配置文件中配置以下文件:

    # 定义三种日志输出格式 开始
    
    standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \
                      '[%(levelname)s][%(message)s]' #其中name为getlogger指定的名字
    
    simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
    
    id_simple_format = '[%(levelname)s][%(asctime)s] %(message)s'
    
    # 定义日志输出格式 结束
    
    logfile_dir = os.path.dirname(os.path.abspath(__file__))  # log文件的目录
    
    logfile_name = 'all2.log'  # log文件名
    
    # 如果不存在定义的日志目录就创建一个
    if not os.path.isdir(logfile_dir):
        os.mkdir(logfile_dir)
    
    # log文件的全路径
    logfile_path = os.path.join(logfile_dir, logfile_name)
    
    # log配置字典
    LOGGING_DIC = {
        'version': 1,
        'disable_existing_loggers': False,
        'formatters': {
            'standard': {
                'format': standard_format
            },
            'simple': {
                'format': simple_format
            },
        },
        'filters': {},
        'handlers': {
            #打印到终端(屏幕)的日志
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',  # 打印到屏幕
                'formatter': 'simple'
            },
            #打印到文件的日志,收集info及以上的日志
            'default': {
                'level': 'DEBUG',
                'class': 'logging.handlers.RotatingFileHandler',  # 保存到文件
                'formatter': 'standard',
                'filename': logfile_path,  # 日志文件
                'maxBytes': 1024*1024*5,  # 日志大小 5M
                'backupCount': 5,
                'encoding': 'utf-8',  # 日志文件的编码,再也不用担心中文log乱码了
            },
        },
        'loggers': {
            #logging.getLogger(__name__)拿到的logger配置
            '': {
                'handlers': ['default', 'console'],  # 这里把上面定义的两个handler都加上,即log数据既写入文件又打印到屏幕
                'level': 'DEBUG',
                'propagate': True,  # 向上(更高level的logger)传递
            },
        },
    }

    2.在common公共文件在配置以下函数:

    def get_logger():
        path = r'F:\s24\day21\liye.log'
        LOGGING_DIC['handlers']['file']['filename'] = path
        logging.config.dictConfig(LOGGING_DIC)  # 导入上面定义的logging配置
        logger = logging.getLogger(__name__)  # 生成一个log实例
        return logger

    3.在主函数中应用:

    def save():
    logger = get_logger()
    logger.info(f'{} 存入300元') # 记录该文件的运行状态
    save()

    4.logging日志的级别:

    logger.debug('logger debug message') 
    logger.info('logger info message') 
    logger.warning('logger warning message') 
    logger.error('logger error message') 
    logger.critical('logger critical message')
    # 默认的日志级别设置为WARNING

    5.format参数中可能用到的格式化串

    • %(name)s Logger的名字
    • %(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用户输出的消息

    转载于:https://www.cnblogs.com/lav3nder/p/11295091.html

    展开全文
  • 配置工程日志

    2021-03-04 21:04:33
    1.配置工程日志 LOGGING = { 'version': 1, 'disable_existing_loggers': False, # 是否禁用已经存在的日志器 ... 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' }, 'simp
  • python 日志输出级别importlogginglogging.basicConfig(level=logging.DEBUG,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt='%a, %d %b %Y %H:%M:%S',#filename='test.log...
  • ##logging 日志**## logging 日志python #################### ...format=’%(asctime)s - %(name)s - %(levelname)s[%(lineno)d] - %(module)s: %(message)s’, # 日志内容 datefmt=’%Y-%m-%d %...
  • log日志 和回滚日志

    2018-05-29 16:54:00
    # coding=utf8# import logging## logging.basicConfig(level=logging.DEBUG,# format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',# datefmt='%a, %...
  • DJango错误日志生成setting.py设置LOGGING = {'version': 1,'disable_existing_loggers': False,'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'},'simple': ...
  • 用途logging模块是Python的内置模块,主要用于输出运行日志,可以灵活配置输出日志的各项信息。基本使用方法logging.basicConfig(level=logging.DEBUG,format='levelname:%(levelname)s filename: %(filename)s ''...
  • 日志(logging)

    2021-03-19 15:07:28
    记录日志 import logging def log(path=None, mode='a'): """ 日志函数 :param path: 生成日志... l_format = '[%(asctime)s %(levelname)s] %(filename)s:%(lineno)s: %(message)s' # 日志格式 t_format = "%
  • logger中添加StreamHandler,可以将日志...FORMATTER = logging.Formatter("%(asctime)s - %(name)s - [%(lineno)d] - %(message)s") # 创建一个屏幕流 p_stream = logging.StreamHandler() # 创建一个文件流 f_stream
  • 日志模板

    2019-10-08 19:33:37
    手动挡import logginglogging.basicConfig( lever = logging.DEBUG, format = '%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s', datefmt = '%Y-%m-%d %H:%M:%S', filename = 'test.l.....
  • 我一夜之间运行了一个Python脚本,发现日志文件只是我指定的消息格式的重复行,而不是实际的消息。在main模块中,我创建了如下记录器:from datetime import datetimeimport loggingimport osdef main():msg_format = '...
  • python 日志模块

    2019-02-27 16:15:00
    logging模块 使用函数配置日志记录器 import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', dat...
  • django日志使用

    2020-11-25 15:14:39
    1、setting.py中加入logging配置 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { ... 'format': '[%(asctime)s] [%(filename)s:%(lineno)d] [%(module)s:%(funcName)s] '
  • 增加log日志

    2020-06-14 14:53:30
    添加日志等级 # coding:utf-8 import logging logging.basicConfig(level=logging.INFO, filename = './log.txt', filemode='a', # a是追加 w是先删除再加 format='%(asctime)s - %(filename)s[line:%(lineno)...
  • python 日志

    2018-05-25 09:56:33
    1. 输出文件名、函数、行import sys def log(string): info = sys._getframe().f_code.co_filename info += sys._getframe().f_code... info += str(sys._getframe().f_lineno) info += ":" + stri...
  • 日志格式类似为:[日志级别] 时间 funcname:函数名 [lineno:行号] 日志信息 ③不同级别,设定不同颜色 ④让其变为函数库文件,重用代码 下面看看我用shell记录日志的进化之路 1.最简单的日志记录方式 对于刚...
  • python logging日志记录

    2020-10-31 21:49:25
    import logging from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler # 创建日志记录者 logger = logging.getLogger...formatter = logging.Formatter('%(asctime)s-%(name)s-%(lineno)d-%.
  • log 日志模板

    千次阅读 2018-12-19 14:34:32
    import sys import logging #默认的配置 DEFAULT_LOG_LEVEL = logging....DEFAULT_LOG_FMT = ‘%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s’ # 默认日志格式 DEFUALT_LOG_DATEFMT = ‘...
  • python logging模块按日期打印日志,并删除过期的日志 logging.basicConfig常用样式 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', ....
  • django 日志配置

    2018-07-30 21:11:00
    django 日志配置 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'standard': { 'format': '%(levelname)s %(asctime)s %(pathname)s %(filename)s %(funcName)s %(lineno)d: %...
  • import osimport reimport logging.config# 定义三种日志输出格式# 其中name为make_logger的参数namestandard_format = '[%(levelname)s][%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s]''[%(filename)...
  • import logginglogging.basicConfig(level=logging.DEBUG,format=’%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s’,datefmt=’%a, %d %b %Y %H:%M:%S’,filename=’test.log’,filemode=’...
  • DJango错误日志生成setting.py设置LOGGING = {'version': 1,'disable_existing_loggers': False,'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'},'simple': ...
  • python logger 日志模块

    2018-06-19 16:23:00
    logger 日志 """logging配置""" import osimport logging.config # 定义三种日志输出格式 开始 ...standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \...
  • 1、解决如果多次添加...2、由get_logger_and_add_handlers和get_logger_without_handlers返回logger类型的实例,不再使用代理模式在本类里面添加debug info warning errocritical方法,解决日志fomatter的lineno显...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 229
精华内容 91
关键字:

日志lineno