python中的Logger实用程序

时间:2020-06-29 20:10:06

标签: python-3.x logging

问题是当我使用命令“ from car_logger import log_warning,log_critical,log_error,clear_logs”并执行函数log_warning(“ THIS IS WARNING”)时,python可以正常工作,即将日志写入日志文件并显示消息在屏幕上由于打印命令。

但是,如果我通过test.py使用它,那么它将按照功能中的说明将其输出打印在屏幕上,但是它不会在日志文件中记录警告消息?

哪里有错?

这是car_logger.py

import logging
from os import remove , path


log_file = "/tmp/robocar_error.log"

my_formatter = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'

# Create a custom logger
logger = logging.getLogger(__name__)

# Create handlers
f_handler = logging.FileHandler(log_file)
f_handler.setLevel(logging.WARNING)

# Create formatters and add it to handlers
f_format = logging.Formatter(my_formatter)
f_handler.setFormatter(f_format)

# Add handlers to the logger
logger.addHandler(f_handler)

def log_warning(message):
    print(message)
    logger.warning(message)

def log_critical(message):
    print(message)
    logger.critical(message)

def log_error(message):
    print(message)
    logger.error(message)

这是test.py

from car_logger import log_warning, log_critical, log_error, clear_logs
log_warning("THIS IS WARNING")

1 个答案:

答案 0 :(得分:0)

从test.py的第1行开始:clear_logs未定义。 我将其从test.py中删除并进行了测试:它对我来说很好用。