怎么输出python程序的日志

时间:2025-01-29 01:03:59 单机游戏

在Python中输出日志信息,可以使用内置的`logging`模块,该模块提供了灵活的日志记录功能,包括输出到控制台和文件,以及自定义日志格式等。以下是使用`logging`模块输出日志信息的一些示例:

1. 导入模块和简单配置

```python

import logging

设置日志级别为INFO,这意味着只有INFO级别及以上(如WARNING、ERROR、CRITICAL)的日志消息才会被记录

logging.basicConfig(level=logging.INFO)

记录日志消息

logging.debug("这是一条DEBUG级别的日志")

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

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

logging.error("这是一条ERROR级别的日志")

logging.critical("这是一条CRITICAL级别的日志")

```

2. 自定义日志格式和输出位置(文件或控制台)

```python

import logging

配置日志输出的格式

logging.basicConfig(filename='my_log.log', level=logging.DEBUG, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

记录日志消息

logging.debug("这条日志会写到文件里")

```

3. 使用不同的日志级别

```python

import logging

设置日志级别为DEBUG,这样所有级别的日志都会输出

logging.basicConfig(level=logging.DEBUG)

输出不同级别的日志

logging.debug("这是一条debug信息")

logging.info("这是一条info信息")

logging.warning("这是一条warning信息")

logging.error("这是一条error信息")

logging.critical("这是一条critical信息")

```

4. 将日志同时输出到控制台和文件

```python

import logging

创建一个Logger对象

logger = logging.getLogger('my_logger')

logger.setLevel(logging.DEBUG)

创建一个Handler对象,用于输出到控制台

consoleHandler = logging.StreamHandler()

consoleHandler.setLevel(logging.DEBUG)

创建一个Formatter对象,用于定制日志的格式

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

consoleHandler.setFormatter(formatter)

将Handler对象添加到Logger对象中

logger.addHandler(consoleHandler)

输出日志

logger.debug("这是一条debug信息")

logger.info("这是一条info信息")

logger.warning("这是一条warning信息")

logger.error("这是一条error信息")

logger.critical("这是一条critical信息")

```

通过以上示例,你可以根据需要选择合适的配置方式,将日志信息输出到控制台或文件,并且可以自定义日志的格式。