当前位置: 首页 > 面试题库 >

启用详细日志记录的更简单方法

欧阳昊阳
2023-03-14
问题内容

如果我--verbose从命令行启用并且脚本中包含以下内容,则想添加调试打印语句测试。

logger.info("test")

问题答案:

您需要将Argparse教程的智慧与Python的Logging
HOWTO
结合起来。这是一个例子

> cat verbose.py 
#!/usr/bin/env python

import argparse
import logging

parser = argparse.ArgumentParser(
    description='A test script for http://stackoverflow.com/q/14097061/78845'
)
parser.add_argument("-v", "--verbose", help="increase output verbosity",
                    action="store_true")

args = parser.parse_args()
if args.verbose:
    logging.basicConfig(level=logging.DEBUG)

logging.debug('Only shown in debug mode')

运行帮助:

> ./verbose.py -h
usage: verbose.py [-h] [-v]

A test script for http://stackoverflow.com/q/14097061/78845

optional arguments:
  -h, --help     show this help message and exit
  -v, --verbose  increase output verbosity

在详细模式下运行:

> ./verbose.py -v
DEBUG:root:Only shown in debug mode

静默运行:

> ./verbose.py   
>


 类似资料:
  • 我有一个程序,在FTP和SFTP之间交替使用,以便在远程服务器上执行一些操作。 对于FTP部分,我使用Apache Commons FTP客户端,而对于SFTP,我使用JSch库。 ApacheCommons可以也将完全详细地打印出客户机向服务器发出的所有命令,以及服务器的响应。 为了使我的应用程序在这两种情况下的日志记录方式保持一致,我想对JSch做一些类似的事情。 我已经尝试成功地实现了JSc

  • 问题内容: 我在Spring 3.5容器中将JpaTransactionManager与hibernate3一起使用。我无法为JPA启用日志记录。我希望看到用于调试我的某些服务的事务管理日志。我正在使用log4j。 这是我的log4j.properties中的内容 问题答案: 在启用JPATransactionManager的日志记录方面,这对我有用:1.下载logback jar(logback

  • 我想调试ffmpeg。我添加以下代码来打印日志: 或 但它不能工作。没有任何调试信息。 然后启用调试生成选项: 它不能工作。 我确信我添加跟踪的地方会被执行。 我只想打印一些简单的信息,怎么做?

  • 本文向大家介绍python实现简单日志记录库glog的使用,包括了python实现简单日志记录库glog的使用的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python实现简单日志记录库glog的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、 glog的简介 glog所记录的日志信息总是记录到标准的stderr中,即控制台

  • 主要内容:Logger日志方法的例子,Logger的日志方法Logger 类有多种方法来处理日志记录活动。Logger 类不允许我们实例化一个新的 Logger 实例,但它支持两种获取 Logger 对象的静态方法: 两个方法中的第一个返回应用程序实例的根记录器,它没有名称。 任何其他命名的 Logger 对象实例都是通过传递记录器的名称由第二种方法获得的。记录器的名称可以是您传递的任何字符串,通常是类或包名称,如下所述: Logger日志方法的例子 Lo

  • 本文向大家介绍go语言日志记录库简单使用方法实例分析,包括了go语言日志记录库简单使用方法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言日志记录库简单使用方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Go语言程序设计有所帮助。