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); } }