将烧瓶控制台消息记录到文件中

时间:2018-03-30 14:28:43

标签: python python-2.7 flask

我正在尝试配置我的烧瓶记录器,以便将日志消息打印到控制台以及文件。我有部分工作,但一些烧瓶消息没有被添加到文件中。

这是我的休息服务器的简化版本。

app = Flask(__name__)


@app.route("/siesta/<string:version>/test_steps", methods=["GET"])
def get_all_test_steps(version):
    if version == API_VERSION_1:
        app.logger.debug("DEBUG LOG MSG")
        return jsonify({"test_steps": test_step_manager.get_all_test_steps_json()})
    else:
        abort(404, "Invalid API version.")


def configure_logger():
    file_handler = logging.FileHandler("RestServer.log")
    console_handler = logging.StreamHandler()
    file_handler.setLevel(logging.DEBUG)
    console_handler.setLevel(logging.DEBUG)

    app.logger.addHandler(file_handler)
    app.logger.addHandler(console_handler)


if __name__ == '__main__':
    args = {"debug": True,
            "use_reloader": False,
            "host": "0.0.0.0"}
    configure_logger()
    app.run(**args)

当我访问route / siesta / v1 / test_steps时,我在控制台中看到以下输出。

--------------------------------------------------------------------------------
DEBUG in RestServer [C:/Users/jhall/PycharmProjects/SQA_ROBOT_AUTOMATION/ExtremeAutomation/Library/Utils/Siesta/RestServer.py:366]:
DEBUG LOG MSG
--------------------------------------------------------------------------------
DEBUG LOG MSG
127.0.0.1 - - [30/Mar/2018 10:17:22] "GET /siesta/v1/test_steps HTTP/1.1" 200 -

重复的消息有点烦人,但我可以忍受。

然而,在文件中,唯一印刷的是这个。

DEBUG LOG MSG

有没有办法将其余信息存入日志文件?

提前致谢。

0 个答案:

没有答案