python输出日志到文件
时间: 2023-03-24 07:02:19 浏览: 153
可以使用Python内置的logging模块来输出日志到文件。首先需要导入logging模块,然后创建一个logger对象,设置输出级别和输出格式,最后使用FileHandler将日志输出到文件中。具体代码如下:
```
import logging
# 创建logger对象
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
# 创建FileHandler对象
fh = logging.FileHandler('mylog.log')
fh.setLevel(logging.DEBUG)
# 设置输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
# 将FileHandler添加到logger中
logger.addHandler(fh)
# 输出日志
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
```
以上代码会将日志输出到名为mylog.log的文件中。可以根据需要修改文件名和输出格式。
相关问题
python打印日志到文件中
在Python中打印日志到文件中,可以使用标准库中的logging模块。下面是一个简单的示例:
```python
import logging
# 配置日志输出到文件
logging.basicConfig(filename='example.log', level=logging.DEBUG)
# 打印日志
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')
```
在上面的代码中,我们首先使用`basicConfig`方法进行日志配置,其中`filename`参数指定了日志输出文件的路径和文件名,`level`参数指定了日志级别,这里设置为`DEBUG`,表示所有级别的日志都会输出到文件中。
接下来使用`debug`、`info`、`warning`、`error`和`critical`等方法打印不同级别的日志,这些日志会自动输出到文件中。
需要注意的是,如果`basicConfig`方法没有被调用,那么打印日志的默认行为是打印到标准输出流(也就是控制台),而不是输出到文件中。因此,在打印日志之前,需要先进行日志配置。
python 日志输出多文件
在 Python 中,可以使用标准库中的 logging 模块来实现日志输出到多个文件。下面是一个简单的示例代码,演示了如何将日志同时输出到两个不同的文件中:
```python
import logging
# 创建 logger 对象
logger = logging.getLogger(__name__)
# 创建文件处理器,将日志输出到 file1.log 文件中
file_handler_1 = logging.FileHandler('file1.log')
file_handler_1.setLevel(logging.INFO)
# 创建文件处理器,将日志输出到 file2.log 文件中
file_handler_2 = logging.FileHandler('file2.log')
file_handler_2.setLevel(logging.WARNING)
# 设置日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler_1.setFormatter(formatter)
file_handler_2.setFormatter(formatter)
# 将处理器添加到 logger 对象中
logger.addHandler(file_handler_1)
logger.addHandler(file_handler_2)
# 输出日志信息
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
```
在上面的代码中,我们首先创建了一个 logger 对象,并为其设置了两个不同的文件处理器。然后,我们设置了日志级别和日志格式,并将处理器添加到 logger 对象中。最后,我们通过 logger 对象输出了一些日志信息。
在运行上面的代码后,会在当前目录下生成两个日志文件:file1.log 和 file2.log。其中,file1.log 中包含了所有级别的日志信息,而 file2.log 中只包含了 WARNING、ERROR 和 CRITICAL 级别的日志信息。
如果需要输出到更多的日志文件,只需要创建更多的文件处理器,并将它们添加到 logger 对象中即可。