引言:
作为一个Java程序员,我们使用过log4j,logback等一系列的日志打印框架,还有比较简单的@Slf4j,只需要一个annotation,就可以很简单的输出日志了,并且日志文件可以按天或者按大小进行滚动,那么在Python里面该如何做呢?其实Java里面的日志配置可以非常平滑的迁移到Python里面来。
日志配置文件:
1、log.yaml
配置文件的格式有非常多的形式,比如.ini格式,.yaml格式,.json格式,.yaml比较好理解,我们就拿这个格式来举例,文件内容如下所示:
version: 1
formatters:
simple:
format: '%(asctime)s - %(funcName)s - %(lineno)d - %(levelname)s - %(message)s'
handlers:
console:
class: logging.StreamHandler
level: DEBUG
formatter: simple
file:
class: logging.handlers.TimedRotatingFileHandler
filename: ./log/logging.log
when: D
interval: 1
backupCount: 5
level: DEBUG
formatter: simple
loggers:
bizLog:
level: DEBUG
handlers: [file]
propagate: no
root:
level: DEBUG
handlers: [console]
2、formatters
首先定义一个formatter,它决定了日志输出的格式,有很多的预置变量,下表个大家列出来了,可以根据自己的需要进行增减:
Attribute name |
Format |
Description |
---|---|---|
args |
You shouldn’t need to format this yourself. |
The tuple of arguments merged into |