我正在设置脚本来检测Linux上特定类型的主机。 我想将大多数打印语句转换为私有日志文件,以便它不会显示在控制台中。 我在主脚本中使用了logger模块,它的工作是将其重定向到日志文件,但也在控制台中显示,我想避免这种情况。
main_script.py
import logging
import child_program
private_logfile = instance_base + "/planning_area/" + activity + "/jdk_private.log"
formatter = logging.Formatter('%(asctime)s, %(name)s - %(funcName)s() - %(levelname)s - %(message)s')
# formatter = logging.Formatter('(message)s')
file_handler = logging.FileHandler(filename=private_logfile)
file_handler.setFormatter(formatter)
private_logger = logging.getLogger("private")
private_logger.setLevel(logging.INFO)
private_logger.addHandler(file_handler)
child_program.py
import logging
private_logger = logging.getLogger("private")
def validate():
private_logger.info("Inside child_program")
控制台中的输出:
INFO:private:inside child_program
cat jdk_private.log
2019-04-23 19:04:18,571, private - validate() - INFO - inside child_program