From 6b421507449a9067fd87449312ec702453539b0a Mon Sep 17 00:00:00 2001 From: Vincent BENOIT Date: Mon, 24 Oct 2022 11:59:52 +0200 Subject: [PATCH] =?UTF-8?q?mise=20=C3=A0=20jour=20des=20routes=20pour=20le?= =?UTF-8?q?s=20logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/log/views.py | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/src/log/views.py b/src/log/views.py index 546865e..dbfa9eb 100644 --- a/src/log/views.py +++ b/src/log/views.py @@ -69,14 +69,21 @@ def get_conf_logs(): current_user = get_jwt_identity() lines = [] - with open(os.path.join(current_app.config['LOG_FOLDER'], current_app.config['PROJECT'] + '.log')) as f: - for idx, line in enumerate(f.readlines()): - try: - date_time, head, gravity, msg = line.split(' - ', 3) - content = {'datetime': date_time, 'header': head, 'gravity': gravity, 'msg':msg} - lines.append(content) - except ValueError as e: - lines[-1]['msg'] = lines[-1]['msg'] + line + logfile = os.path.join(current_app.config['LOG_FOLDER'], current_app.config['PROJECT'] + '.log') + try: + with open(logfile) as f: + current_app.logger.debug("conf log file: {}".format(logfile)) + for idx, line in enumerate(f.readlines()): + try: + date_time, head, gravity, msg = line.split(' - ', 3) + content = {'datetime': date_time, 'header': head, 'gravity': gravity, 'msg':msg} + lines.append(content) + except ValueError as e: + lines[-1]['msg'] = lines[-1]['msg'] + line + except FileNotFoundError as e: + current_app.logger.error("Fichier de log ({}) manquant".format(logfile)) + abort(status.HTTP_406_NOT_ACCEPTABLE, description="Fichier log manquant") + return jsonify(lines), status.HTTP_200_OK @log.route('/app_logs', methods=['GET']) @@ -87,12 +94,19 @@ def get_app_logs(): current_user = get_jwt_identity() lines = [] - with open(os.path.join(current_app.config['LOG_FOLDER'], current_app.config['APP_NAME'] + '.log')) as f: - for idx, line in enumerate(f.readlines()): - try: - date_time, head, gravity, msg = line.split(' - ', 3) - content = {'datetime': date_time, 'header': head, 'gravity': gravity, 'msg':msg} - lines.append(content) - except ValueError as e: - lines[-1]['msg'] = lines[-1]['msg'] + line + logfile = os.path.join(current_app.config['LOG_FOLDER'], current_app.config['APP_NAME'] + '.log') + try: + with open(logfile) as f: + current_app.logger.debug("app log file: {}".format(logfile)) + for idx, line in enumerate(f.readlines()): + try: + date_time, head, gravity, msg = line.split(' - ', 3) + content = {'datetime': date_time, 'header': head, 'gravity': gravity, 'msg':msg} + lines.append(content) + except ValueError as e: + lines[-1]['msg'] = lines[-1]['msg'] + line + except FileNotFoundError as e: + current_app.logger.error("Fichier de log ({}) manquant".format(logfile)) + abort(status.HTTP_406_NOT_ACCEPTABLE, description="Fichier log manquant") + return jsonify(lines), status.HTTP_200_OK