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

    千次阅读 2018-12-05 09:33:31
    python中替代logging的日志系统。 不过比之前的logging难理解。 先上打印到屏幕上的代码和存到日志文件中的代码: ...from logbook import Logger, StreamHandler, TimedRotatingFileHandler import sys import os...

    python中替代logging的日志系统。

    不过比之前的logging难理解。

    先上打印到屏幕上的代码和存到日志文件中的代码:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    from logbook import Logger, StreamHandler, TimedRotatingFileHandler
    import sys
    import os
    StreamHandler(sys.stdout).push_application()
    log = Logger('Logbook')
    log.info('Hello, World!')
    LOG_DIR = os.path.join('log')  
    if not os.path.exists(LOG_DIR):  
        os.makedirs(LOG_DIR)  
    TimedRotatingFileHandler(os.path.join(LOG_DIR, '%s.log' % 'user_log'), date_format='%Y%m%d', bubble=True).push_application() 
    user_log = Logger('user_log')
    user_log.info('user_log mytest....')
    

    然后看rqalpha代码,发现实际上写主要有两种类型,一种为打印到屏幕,一种为打印到文件。

    在初始化时,需要先利生成Logger实例:

    user_log = Logger(“user_log”)

    需要打印到屏幕,则生成打印到屏幕的句柄:

    user_std_handler = user_std_handler = ColorizedStderrHandler(bubble=True)

    然后对此句柄设置日志格式:

    user_std_handler.formatter = user_handler_log_formatter

    若想使此设置生效,

    只需申明user_log的句柄:

    user_log.handlers = []

    然后将之加入即可

    user_log.handlers.append(user_std_handler)

    同理,如果希望日志同时支持打印到文件,只需按照上述步骤再来一次即可。
    user_file_handler = TimedRotatingFileHandler(
    os.path.join(os.path.join(‘log’) , ‘%s.log’ % ‘test_log’), date_format=’%Y%m%d’, bubble=True)
    user_file_handler.formatter = user_handler_log_formatter

    user_log.handlers.append(user_file_handler)

    user_handler_log_formatter是一个日志格式函数,返回打印的日志以什么方式呈现。

    整体代码如下:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    # filename:logger.py
    import os
    import logbook
    from logbook import Logger, TimedRotatingFileHandler
    from logbook.more import ColorizedStderrHandler
    DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S.00"
    def user_handler_log_formatter(record, handler):
        log = "[{dt}][{level}][{filename}][{func_name}][{lineno}] {msg}".format(
            dt=record.time,
            level=record.level_name,                       # 日志等级
            filename = os.path.split(record.filename)[-1], # 文件名
            func_name = record.func_name,                  # 函数名
            lineno = record.lineno,                        # 行号
            msg=record.message,                            # 日志内容
        )
        return log
    # 打印到屏幕句柄
    user_std_handler = ColorizedStderrHandler(bubble=True)
    user_std_handler.formatter = user_handler_log_formatter
    # 日志路径,在主工程下生成log目录
    LOG_DIR = os.path.join('log') 
    if not os.path.exists(LOG_DIR):  
        os.makedirs(LOG_DIR)
        
    # 打印到文件句柄
    user_file_handler = TimedRotatingFileHandler(
        os.path.join(LOG_DIR , '%s.log' % 'test_log'), date_format='%Y%m%d', bubble=True)
    user_file_handler.formatter = user_handler_log_formatter
    # 用户代码logger日志
    user_log = Logger("user_log")
    def init_logger():
        logbook.set_datetime_format("local")
        user_log.handlers = []
        user_log.handlers.append(user_std_handler)
        user_log.handlers.append(user_file_handler)    
        
    # 初始化日志系统(被默认调用)
    init_logger()
    测试代码如下:
    
    #!/usr/bin/evn python3
    # -*- coding: utf-8 -*-
    # filename: test_looger.py
    import os
    from logger import user_log as logger
    if __name__ == "__main__": 
        logger.info("my test.")
    打印日志如下:
    
    [2017-08-26 19:10:10.226902][INFO][test_logger.py][<module>][8] my test.
    
    展开全文
  • 日志 日志管理器
  • python:利用logbook模块管理日志 日志管理作为软件项目的通用部分,无论是开发还是自动化测试过程中,都显得尤为重要。 最初是打算利用python的logging模块来管理日志的,后来看了些github及其他人的自动化框架设计...
    python:利用logbook模块管理日志
    日志管理作为软件项目的通用部分,无论是开发还是自动化测试过程中,都显得尤为重要。
    
    最初是打算利用python的logging模块来管理日志的,后来看了些github及其他人的自动化框架设计,做了个比对后,还是决定使用logbook。
    
    这篇博客,介绍下python中的logbook模块的使用方法,仅供参考。。。
    
     
    
    一、下载安装
    
    1、文件安装
    
    从官网下载logbook安装文件,然后安装即可。
    
    官网链接:https://pypi.org/project/Logbook/
    
    2、pip命令安装
    
    进入CMD命令行,输入 pip install logbook 命令进行安装,安装成功后,输入 pip show logbook 命令
    
    二、logbook简介
    
    logbook的设计初衷,就是用来取代python的标准库日志模块:logging。具体内容可通过下方的链接查看官方文档说明:
    
    官方文档:http://logbook.readthedocs.io/en/stable/index.html
    
     
    
    三、用法说明
    
    示例代码如下:log.py
    # coding=utf-8
    import os
    import sys
    import logbook
    from logbook import Logger,StreamHandler,FileHandler,TimedRotatingFileHandler
    from logbook.more import ColorizedStderrHandler
    
    def log_type(record,handler):
        log = "[{date}] [{level}] [{filename}] [{func_name}] [{lineno}] {msg}".format(
            date = record.time,                              # 日志时间
            level = record.level_name,                       # 日志等级
            filename = os.path.split(record.filename)[-1],   # 文件名
            func_name = record.func_name,                    # 函数名
            lineno = record.lineno,                          # 行号
            msg = record.message                             # 日志内容
        )
        return log
    
    # 日志存放路径
    LOG_DIR = os.path.join("Log")
    if not os.path.exists(LOG_DIR):
        os.makedirs(LOG_DIR)
    # 日志打印到屏幕
    log_std = ColorizedStderrHandler(bubble=True)
    log_std.formatter = log_type
    # 日志打印到文件
    log_file = TimedRotatingFileHandler(
        os.path.join(LOG_DIR, '%s.log' % 'log'),date_format='%Y-%m-%d', bubble=True, encoding='utf-8')
    log_file.formatter = log_type
    
    # 脚本日志
    run_log = Logger("script_log")
    def init_logger():
        logbook.set_datetime_format("local")
        run_log.handlers = []
        run_log.handlers.append(log_file)
        run_log.handlers.append(log_std)
    
    # 实例化,默认调用
    logger = init_logger()
    
    代码解析:
    
    1、定义日志文件类型,依次按照时间、日志等级、测试文件名、函数方法名、行数、具体的信息来展示;
    
       日志等级:
    
    level	describe
    critical	严重错误,会导致程序退出
    error	可控范围内的错误
    warning	警告信息
    notice	大多情况下希望看到的记录
    info	大多情况不希望看到的记录
    debug	调试程序时详细输出的记录
    2、定义日志存放路径为Log文件夹;
    
    3、logbook的日志输出方式有2种:打印到屏幕(比较适合调试时候,正式使用时可以将其注释掉)和打印输出到日志文件;
    
    4、定义日志输出;
    
    5、实例化,方便其他模块调用;
    
    可以通过测试代码来测试日志是否打印到了对应的路径,测试代码如下:test_log.py
    
    # coding=utf-8
    import os
    from log import run_log as logger
    
    if __name__ == '__main__':
        logger.info("测试log模块,暂时就优化到这一步,后续再改进")
    测试结果:
    
    
    
     
    
    如上所示,即为logbook的基本使用方法,代码仅供参考,具体使用请自行实践。。。
    
    展开全文
  • python自带了日志模块logging,可以用来记录程序运行过程中的日志信息。这篇文章主要介绍了python logbook使用方法,需要的朋友可以参考下
  • python 日志模块--python logbook使用方法

    千次阅读 2019-09-17 15:19:06
    本文介绍一下python logbook日志模块的用法

    python自带了日志模块logging,可以用来记录程序运行过程中的日志信息。同时python还有logbook模块用来取代logging模块,在很多的项目中logbook模块使用也是比较的多,因此本文介绍一下python logbook模块的使用方法。

    1,安装

    pip install logbook
    

    官方的使用文档,这里

    2,使用方法如下:

    文件 logconf.py 初始化日志以及设置日志格式等参数:

    import sys
    import os
    import logbook
    import logbook.more
    
    def logFormate(record,handler):
        formate = "[{date}] [{level}] [{filename}] [{func_name}] [{lineno}] {msg}".format(
            date = record.time,                              # 日志时间
            level = record.level_name,                       # 日志等级
            filename = os.path.split(record.filename)[-1],   # 文件名
            func_name = record.func_name,                    # 函数名
            lineno = record.lineno,                          # 行号
            msg = record.message                             # 日志内容
        )
        return formate
    
    
    def initLogger(filename,fileLogFlag=True,stdOutFlag=False):
        LOG_DIR = os.path.join('log')
        if not os.path.exists(LOG_DIR):
            os.makedirs(LOG_DIR)
    
        logbook.set_datetime_format('local')
    
        logger = logbook.Logger(filename)
        logger.handlers = []
    
        if fileLogFlag:#日志输出到文件
            logFile = logbook.TimedRotatingFileHandler(os.path.join(LOG_DIR, '%s.log' % 'log'),date_format='%Y-%m-%d', bubble=True, encoding='utf-8')
            logFile.formatter = logFormate
            logger.handlers.append(logFile)
    
        if stdOutFlag:#日志打印到屏幕
            logStd = logbook.more.ColorizedStderrHandler(bubble=True)
            logStd.formatter = logFormate
            logger.handlers.append(logStd)
    
        return logger
    

    1,该文件中logFormate函数设置日志的输出格式。
    2,initLogger函数中fileLogFlag为日志写入文件标示。
    3,initLogger函数中stdOutFlag标示日志打印到终端标示。

    上述参数可以根据实际的情况进行设置。

    文件globalConf.py将logger定义为一个供其他所有模块使用全局公共变量,因此单独设置该文件,供其他文件引用。

    import logconf
    class ShareLogger:
    	logger = logconf.initLogger('log.txt',True,True)
    	
    def getShareLogger():
    	return ShareLogger.logger
    
    def setShareLogger(logger):
    	ShareLogger.logger = logger
    

    文件test.py 为日志具体使用示例文件:

    import sys
    import os
    import globalConf
    
    global logger
    logger = globalConf.getShareLogger()
    
    if __name__ == "__main__":
    	logger.info("this is info")
    	logger.warning("this iswarning")
    	logger.debug("this is debug")
    	logger.critical("this is critical")
    
    

    该文件中调用globalConf.py,获取logger日志变量,根据不同的日志等级进行记录。logbook模块的日志等级说明,见这里

    logbook.CRITICAL          严重错误信息
    logbook.ERROR             一般错误信息
    logbook.WARNING         警告信息
    logbook.INFO					正常的记录信息
    logbook.DEBUG				调试程序输出的信息
    logbook.NOTSET           正常的记录信息
    

    在程序运行起来之后,可以查看存储的日志文件,都会按照上述的日志格式进行记录。

    本文为CSDN村中少年原创文章,转载记得加上原创出处,博主链接这里

    展开全文
  • 飞机日志 入门 yarn install yarn start 打开并开始开发。 REST API 网址: : 验证 使用带有内容Bearer {Firebase Access Token}的Authorization标头进行身份验证。 资源 航班 GET /api/flights 内容类型: text...
  • logbook:希腊日志-源码

    2021-04-01 05:49:40
    Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...
  • 使用logbook打印http请求日志

    千次阅读 2020-10-04 07:55:45
    1.导入pom依赖 <dependency> <groupId>...logbook-core</artifactId> <version>${logbook.version}</version> </dependency> <dependency> <g

    1.导入pom依赖

    <dependency>
    	       <groupId>org.zalando</groupId>
    	      <artifactId>logbook-core</artifactId>
    	      <version>${logbook.version}</version>
            </dependency>
    	    <dependency>
    			<groupId>org.zalando</groupId>
    			<artifactId>logbook-servlet</artifactId>
    			<version>${logbook.version}</version>
    	    </dependency>
    		<dependency>
    			<groupId>org.zalando</groupId>
    			<artifactId>logbook-httpclient</artifactId>
    			<version>${logbook.version}</version>
    		</dependency>
    		<dependency>
    			<groupId>org.zalando</groupId>
    			<artifactId>logbook-spring-boot-starter</artifactId>
    			<version>${logbook.version}</version>
    		</dependency>

    2.在application.properties中配置显示方式

    logbook.write.level=TRACE
    logbook.format.style=http

    3.在定义httpClient的bean中,加入拦截

    @Autowired
    	private LogbookHttpRequestInterceptor logbookHttpRequestInterceptor;
    	
    	@Autowired
    	private LogbookHttpResponseInterceptor logbookHttpResponseInterceptor;
    	
    	/**
    	 * httpclient bean 的定义
    	 * @return
    	 */
    	@Bean
    	@ConditionalOnMissingBean(HttpClient.class)
    	public HttpClient httpClient() {
    		RequestConfig requestConfig = RequestConfig.custom()
    				.setConnectTimeout(properties.getConnectTimeOut())
    				.setSocketTimeout(properties.getSocketTimeOut()).build();// 构建requestConfig
    		HttpClient client = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig)
    				.setUserAgent(properties.getAgent())
    				.setMaxConnPerRoute(properties.getMaxConnPerRoute())
    				.setMaxConnTotal(properties.getMaxConnTotaol())
    				.addInterceptorFirst(logbookHttpRequestInterceptor)
    				.addInterceptorFirst(logbookHttpResponseInterceptor)
    				.build();
    		return client;
    	}

     

    展开全文
  • logback 日志按容量分片名词解释效果展示使用说明代码示例 名词解释 appender: 输出器 filter: 过滤器 level: 日志等级 onMatch: 符合匹配规则 ACCEPT: 接受 DENY: 拒绝 onMismatch...
  • 创建日志目录: mkdir $HOME/.logbook 将两个日志功能映射到键盘: nnoremap < leader> le :call LogbookNewEntry () nnoremap < leader> ld :call LogbookSignEntry () nnoremap < leader> ll :call ...
  • 项目源码:https://github.com/sixj0/logback-warning功能介绍:配合logback日志使用,通过扩展Appender组件,实现在打印error日志时告警...
  • 2017年Java日志框架及工具综述

    千次阅读 2017-10-10 20:25:22
    2017年Java日志框架及工具综述 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 应用程序中的日志信息对于了解所有应用程序运行时的行为至关重要,特别是在遇到意外的场景、错误或仅用于跟踪某些活动...
  • 阿拉斯加航海日志 阿拉斯加鱼类调查的移动数据收集 安装 要求: Vagrant 和 VirtualBox 混帐 git clone https://github.com/Ecotrust/ak-logbook.git git clone https://github.com/Ecotrust/formhub.git cd ...
  • logback配置,灵活的日志输出,定位问题更快速
  • 1.pom添加logbook依赖 2.在服务提供者工程添加logbookfilter以输出日志 3.在服务消费者工程httpclient添加logbook拦截器
  • logback中日志输出的格式pattern详解

    千次阅读 2020-01-01 17:56:04
    匹配到上面的ERROR日志时,输出到日志文件中,(还有一个指令NEUTRAL,代表当前这条策略不做操作,让下一条策略去匹配) & ndash ; & gt ; < onMismatch > ACCEPT < / onMismatch > < / filter > -- > < ...
  • 网络日志 网络日志是一种基于网络的电子日志。 主要功能包括单一图形用户界面、多语言、附件、档案、简单的用户管理、排序、用户定义的横幅、搜索、导入/导出、趋势和统计。 适合中小型团队。 前段时间在网络安全组...
  • 日志 可插拔的Javascript日志变得简单 日志是任何项目的可插拔/可部署实时日志处理程序。 目标用户涉及正在寻找自定义实时专用日志记录仪表板的后端开发人员。 日志将作为npm软件包以及Docker映像分发。 日志使用...
  • python打印日志logbook

    2020-09-28 09:34:33
    1. 自定义输入日志格式 log.py import os import sys import logbook from logbook import Logger,StreamHandler,FileHandler,TimedRotatingFileHandler from logbook.more import ColorizedStderrHandler # 日志...
  • 在开发中比较常见的还是log4j,基本上每个开发者都知道,但是使用logback输出日志,估计用的人不多,其实这两个都是slf4j的实现,而且是同一个作者。 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制...
  • 日志卡 一个定制的组件,用于显示实体的历史记录。 警告:从1.0.0开始,卡的资源类型不再是JavaScript Module而不再是JavaScript File 。 如果发生加载错误,请检查资源类型是否为JavaScript module 。 安装 HACS ...
  • 直接从缓存页面打印日志 轻松打印您的寻宝日志。 将链接添加到Geocaching网站以预填充日志。 3次点击以打印新的日志! 您可以直接访问地质门户网站:http://www.geoking.fr 支持语言:Deutsch,English,Français
  • Logbook-一个很酷的logging库,用来替换Python 内置logging库
  • 日志 塔斯马尼亚学习者驱动程序的基于Web的日志。 使用的插件 Bootstrap v3.3.5( ) jQuery v1.11.3( ) jQuery UI日期选择器 Twitter Bootstrap的时间选择器( ) Select2 v4.0.0( )
  • Logbook:项目-源码

    2021-03-28 17:58:14
    日志 该项目是使用版本10.1.1生成的。 开发服务器 为开发服务器运行ng serve 。 导航到http://localhost:4200/ 。 如果您更改任何源文件,该应用程序将自动重新加载。 代码脚手架 运行ng generate component ...
  • 最初是打算利用python的logging模块来管理日志的,后来看了些github及其他人的自动化框架设计,做了个比对后,还是决定使用logbook。 这篇博客,介绍下python中的logbook模块的使用方法,仅供参考。。。   一、...
  • descent-logbook:用于桌游Descent活动的进度日志移动应用程序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 838
精华内容 335
关键字:

logbook日志