Python中 logging.basicConfig

logging.basicConfig 是 Python 中用来设置日志系统的一种最简便方法。通过它可以快速地指定日志级别、日志输出格式、输出目标(文件或控制台)等基本参数。

以下是这行配置的主要作用:

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
  1. level=logging.INFO

    • 设置最小的日志级别为 INFO
    • 在 Python 的日志系统中,如果设置了某个级别的阈值,那么只有大于等于该级别的日志才会被输出。例如这里设置为 INFO,那么 DEBUG 级别的日志就不会输出,而 INFOWARNINGERRORCRITICAL 这些级别的日志都会输出。
    • 日志级别从低到高依次是: DEBUG < INFO < WARNING < ERROR < CRITICAL
  2. format=‘%(asctime)s - %(levelname)s - %(message)s’

    • 设置日志的输出格式,使用占位符(%())插入不同的日志相关信息。常见的可用变量如下:
      • %(asctime)s:打印日志的时间(默认会包含日期和时间,精确到毫秒)。
      • %(levelname)s:日志级别名称(如 INFO、WARNING、ERROR 等)。
      • %(message)s:日志的具体消息内容(即在 logging.info()logging.error() 等方法中传入的字符串)。
    • 通过这种方式,可以让你的日志在控制台或文件中按统一格式显示,便于阅读和分析。

这行配置放在脚本开头,通常就能满足许多简单的日志需求,例如控制台输出指定级别(这里是 INFO 以上)的日志,并使用统一的格式。之后在代码中,你就可以直接调用:

logging.info("这是一条INFO级别的日志")
logging.warning("这是一条WARNING级别的日志")

它们会按照你设定的格式输出到控制台。

如果要输出到文件,可以再加上 filename 等参数,例如:

logging.basicConfig(
    filename='app.log',
    filemode='a',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

这样日志会自动被写入到 app.log 文件中。

### 使用 `basicConfig` 配置日志记录 为了配置Python的日志模块,可以使用`logging.basicConfig()`函数来设置默认的日志级别、格式以及其他选项。这通常是在应用程序启动时完成的一次性配置。 当调用`basicConfig`时,如果没有指定文件名,则会将日志消息发送到控制台;如果指定了文件名,则会把日志写入该文件中[^2]。 下面是一个简单的例子展示如何利用`basicConfig`来进行基本的日志配置: ```python import logging # 配置日志属性 logging.basicConfig( level=logging.DEBUG, # 设置最低严重程度级别的阈值为DEBUG format='%(asctime)s %(levelname)-8s %(message)s', # 定义输出格式 datefmt='%Y-%m-%d %H:%M:%S' # 时间戳格式化字符串 ) # 创建一些不同等级的日志条目作为测试 logging.debug('这是一个调试信息') logging.info('这是提示信息') logging.warning('警告发生了...') logging.error('错误发生.') logging.critical('致命的内部错误!') ``` 这段代码设置了日志系统的全局配置,使得所有的日志都会带有时间戳以及相应的日志级别标签,并按照指定的时间格式打印出来。此外还定义了一个较低的日志级别——即DEBUG及以上级别的事件都将被捕获并显示给用户。 对于更复杂的场景,比如想要同时向多个目的地(如屏幕和文件)输出日志或者自定义处理器和过滤器等高级功能,则可能需要考虑采用更加灵活的方式去初始化logger对象而不是仅仅依赖于`basicConfig`方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值