mice-log
Version:
logging component - mice style
51 lines (36 loc) • 2.83 kB
Markdown
Библиотека предназначена для использования в коде приложения **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. Вы сможете делать запросы get для того журнала, для которого существует настройка.
```ts
const BASE_URL = '/logs';
const router = Router();
router.get(BASE_URL, handleGetLog);
router.delete(BASE_URL, handleClearLog);
```