python 打印日志
时间: 2023-06-30 07:15:01 浏览: 111
在Python中,打印日志可以使用标准库中的`logging`模块。`logging`模块提供了一个灵活的方式来记录程序运行时产生的信息,可以控制日志的级别、输出位置以及格式等。
以下是一个简单的打印日志的示例:
```python
import logging
# 配置日志输出的格式
logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s', level=logging.INFO)
# 输出日志信息
logging.debug('This is a debug message.')
logging.info('This is an info message.')
logging.warning('This is a warning message.')
logging.error('This is an error message.')
logging.critical('This is a critical message.')
```
输出的日志格式为`时间 日志级别: 日志信息`,如下所示:
```
2021-10-08 17:26:46,229 INFO: This is an info message.
2021-10-08 17:26:46,229 WARNING: This is a warning message.
2021-10-08 17:26:46,229 ERROR: This is an error message.
2021-10-08 17:26:46,229 CRITICAL: This is a critical message.
```
可以看出,日志信息按照级别进行输出,级别从低到高依次是`DEBUG`、`INFO`、`WARNING`、`ERROR`和`CRITICAL`,默认的级别是`WARNING`,可以通过`basicConfig()`函数的`level`参数来设置输出的最低级别。
除了上面的方式外,还可以使用`Logger`类来记录日志,可以更加灵活地控制日志的输出。例如,可以创建一个名为`mylogger`的日志记录器,并设置其输出级别为`DEBUG`:
```python
import logging
# 创建一个名为'mylogger'的Logger对象
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
# 配置日志输出的格式
formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
# 创建一个输出到控制台的Handler对象
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter)
# 将Handler对象添加到Logger对象中
logger.addHandler(console_handler)
# 输出日志信息
logger.debug('This is a debug message.')
logger.info('This is an info message.')
logger.warning('This is a warning message.')
logger.error('This is an error message.')
logger.critical('This is a critical message.')
```
输出结果与前面的示例相同,但是使用的是`mylogger`这个记录器,并且可以更加灵活地控制日志的输出方式。
阅读全文