UNPKG

mice-log

Version:

logging component - mice style

51 lines (36 loc) 2.83 kB
# Поддержка создания записей журнала для приложения Библиотека предназначена для использования в коде приложения **node**...**express**. Вы извлекаете в нужном месте нужный экземпляр журнала и используете его. Если уровень серьезности журнала настроен и он допускает запись, то сообщение попадет в журнал. Если журнал * не настроен * не присутствует в списке переменных окружения * ему не был присвоен уровень программным путем * разрешенный уровень серьезности выше используемого метода то запись в журнал не будет записана. Таким образом, убирать операторы из кода не нужно. ```ts const logger = getLogger('mongoose'); logger.info('begin request'); global.setTimeout(()=>{logger.info('completed request');},5000); ``` ## Настройка Для настройки журналов вы вызываете `init` на старте приложения. Функция инициализации `init` читает настройки из переменных окружения `process.env`. При обнаружении переменной вида `MICE_LOG_category=severity` значение **severity** уровня серьезности используется для категории **category**. Следующая настройка разрешит запись в журнал событий категории `database` уровней `info`, `warning`, `error` ```txt MICE_LOG_DATABASE=info ``` Договорились, что названия журналов приводятся к нижнему регистру. Для настройки программным способом передайте в `init` функцию инициализации. Она будет вызвана с объектом, который вы можете дополнить или перенастроить. ```ts init((p) => { p.basePath = './logs'; p.levels.set('mongoose', 'error'); p.levels.set('dispatcher', 'verbose'); }); ``` ## Express для использования в express. Вы сможете делать запросы get для того журнала, для которого существует настройка. ```ts const BASE_URL = '/logs'; const router = Router(); router.get(BASE_URL, handleGetLog); router.delete(BASE_URL, handleClearLog); ```