问题是当我使用命令“ 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")
答案 0 :(得分:0)
从test.py的第1行开始:clear_logs
未定义。
我将其从test.py中删除并进行了测试:它对我来说很好用。