From 68c0e94133f31372bdd4d306766e5d721dfb33ca Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Thu, 4 Jul 2019 22:02:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A8=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D1=8B=20?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9=20=D0=BF=D1=80=D0=BE=D1=82=D0=BE=D0=BA=D0=BE?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=B2=D1=8B=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=82?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/constants.js | 7 ++++++- core/logger.js | 20 ++++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/core/constants.js b/core/constants.js index 9db9742..5d56e79 100644 --- a/core/constants.js +++ b/core/constants.js @@ -33,7 +33,12 @@ exports.SERR_MAIL_FAILED = "ERR_MAIL_FAILED"; //Ошибка отправки п //Типовые коды ошибок WEB-сервера exports.SERR_WEB_SERVER = "ERR_WEB_SERVER"; //Ошибка WEB-сервера -//Типовые коди ошибок пользовательских обработчиков сервера приложений и сервера БД +//Типовые коды ошибок пользовательских обработчиков сервера приложений и сервера БД exports.SERR_APP_SERVER_BEFORE = "ERR_APP_SERVER_BEFORE"; //Ошибка предобработчика exports.SERR_APP_SERVER_AFTER = "ERR_APP_SERVER_AFTER"; //Ошибка постобработчика exports.SERR_DB_SERVER = "SERR_DB_SERVER"; //Ошибка обработчика сервера БД + +//Шаблоны подсветки консольных сообщений протокола работы +exports.SCONSOLE_LOG_COLOR_PATTERN_ERR = "\x1b[31m%s\x1b[0m%s"; //Цвет для ошибок +exports.SCONSOLE_LOG_COLOR_PATTERN_WRN = "\x1b[33m%s\x1b[0m%s"; //Цвет для предупреждений +exports.SCONSOLE_LOG_COLOR_PATTERN_INF = "\x1b[32m%s\x1b[0m%s"; //Цвет для информации diff --git a/core/logger.js b/core/logger.js index b33cd86..c963cba 100644 --- a/core/logger.js +++ b/core/logger.js @@ -8,8 +8,13 @@ //---------------------- const _ = require("lodash"); //Работа с массивами и объектами -const { validateObject } = require("./utils"); //Вспомогательные функции +const { validateObject, getNowString } = require("./utils"); //Вспомогательные функции const db = require("./db_connector"); //Модуль взаимодействия с БД +const { + SCONSOLE_LOG_COLOR_PATTERN_ERR, + SCONSOLE_LOG_COLOR_PATTERN_WRN, + SCONSOLE_LOG_COLOR_PATTERN_INF +} = require("./constants"); //Общие константы const { NLOG_STATE_INF, NLOG_STATE_WRN, NLOG_STATE_ERR } = require("../models/obj_log"); //Схемы валидации записи журнала работы сервиса обмена const prmsLoggerSchema = require("../models/prms_logger"); //Схемы валидации параметров функций модуля @@ -44,8 +49,7 @@ class Logger { //Протоколирование async log(prms) { //Фиксируем время - const dNow = new Date(); - const sNow = dNow.toLocaleString(); + const sNow = getNowString(); //Проверяем структуру переданного объекта для подключения let sCheckResult = validateObject(prms, prmsLoggerSchema.log, "Параметры функции протоколирования"); //Если структура объекта в норме @@ -56,17 +60,17 @@ class Logger { switch (prms.nLogState) { case NLOG_STATE_ERR: { sPrefix = "ОШИБКА"; - sColorPattern = "\x1b[31m%s\x1b[0m%s"; + sColorPattern = SCONSOLE_LOG_COLOR_PATTERN_ERR; break; } case NLOG_STATE_WRN: { sPrefix = "ПРЕДУПРЕЖДЕНИЕ"; - sColorPattern = "\x1b[33m%s\x1b[0m%s"; + sColorPattern = SCONSOLE_LOG_COLOR_PATTERN_WRN; break; } case NLOG_STATE_INF: { sPrefix = "ИНФОРМАЦИЯ"; - sColorPattern = "\x1b[32m%s\x1b[0m%s"; + sColorPattern = SCONSOLE_LOG_COLOR_PATTERN_INF; break; } default: @@ -82,11 +86,11 @@ class Logger { await this.dbConnector.putLog(prms); } } catch (e) { - console.log("\x1b[31m%s\x1b[0m%s", `${sNow} ОШИБКА ПРОТОКОЛИРОВАНИЯ: `, e.sMessage); + console.log(SCONSOLE_LOG_COLOR_PATTERN_ERR, `${sNow} ОШИБКА ПРОТОКОЛИРОВАНИЯ: `, e.sMessage); } } } else { - console.log("\x1b[31m%s\x1b[0m%s", `${sNow} ОШИБКА ПРОТОКОЛИРОВАНИЯ: `, sCheckResult); + console.log(SCONSOLE_LOG_COLOR_PATTERN_ERR, `${sNow} ОШИБКА ПРОТОКОЛИРОВАНИЯ: `, sCheckResult); console.log(prms); } }