1.0.0 • Published 1 year ago

@dlabs71/d-logger-node v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

D-logger-node

Библиотека для ведения журнала логирования JS/Vue приложений. Является расширением библиотеки @dlabs71/d-logger. Предоставляет возможность логирования в файл по средствам предоставляемого FileAppender и методов управления данными файлами в расширенном классе DLogger.

NPM Version License

Установка NPM

npm i @dlabs71/d-logger-node

Использование

Данная библиотека может быть использована в любом js приложении, вне зависимости от фреймворка. Также она предоставляет поддержку подключения к Vue.js приложению через плагин.

Подключение к Vue.js приложению

Для использования d-logger-node во Vue приложении, импортируйте DLoggerPlugin или DLoggerNodePlugin плагин и подключите его. Все параметры плагина соответствуют плагину DLoggerPlugin из библиотеки @dlabs71/d-logger.

main.js

import { DLoggerPlugin } from '@dlabs71/d-logger-node';

Vue.use(DLoggerPlugin);
// or
const loggerOpts = {
    level: "info"
};
Vue.use(DLoggerPlugin, {
    logConfig: loggerOpts
});

Параметры настройки плагина:

ПараметрТипЗначение по умолчаниюОписание
levelstringdebugУстанавливает уровень логирования
templatefunctionnullФункция определяющая шаблон строки логирования (шаблоны)
appendersarray[]Список апендеров, реализующих класс LogAppender. По умолчанию сразу доступен ConsoleAppender (аппендеры)
stepInStacknumber6Индекс в стеке вызовов ошибки для определения файла и позиции вызова метода логирования. Если библиотека показывает не верный файл вызова метода логирования, то необходимо поменять данный параметр.
dateL10nstringenЛокализация даты в логах (en, ru, ...). Для всех аппендеров по умолчанию.

Далее вы можете использовать её через this.$log как в примере ниже:

example.vue

<template></template>
<script>
export default {
    name: 'example',
    methods: {
        process() {
            this.$log.debug("Starting method process");
            // code method
            this.$log.debug("Ending method process");
        }
    }
}
</script>

Использование логгера без плагина Vue.js

Для использования логгера без плагина Vue.js достаточно импортировать $log из @dlabs71/d-logger-node. Вы получаете, настроенный по умолчанию, экземпляр класса DLoggerNode. Он будет использовать ConsoleAppender в качестве единственного и основного аппендера логирования (Логгер).

import {$log} from '@dlabs71/d-logger-node';

function exampleFunc(param1, param2) {
    $log.info("Start exampleFunc with parameters: param1 = ", param1, ", param2 = ", param2);
}

Логгер можно перенастроить, для этого есть метод configure. Про его использование читайте в документации проекта @dlabs71/d-logger Метод configure.

import {$log} from '@dlabs71/d-logger-node';

$log.configure({
    level: "error"
});

function exampleFunc(param1, param2) {
    $log.info("Start exampleFunc with parameters: param1 = ", param1, ", param2 = ", param2);
}

Более подробную документацию читайте в разделе Документация текущего проекта и в разделе Документация проекта @dlabs71/d-logger

Документация

Оглавление

1. Расширенный логгер - DLoggerNode

Логгер представляет собой экземпляр класса DLoggerNode, который наследует класс DLogger из библиотеки @dlabs71/d-logger. Для управления журналом логирования существуют специальные классы, наследующие класс LogAppender (далее аппендеры). Данная библиотека предоставляет аппендер, позволяющий логировать в файлы.

  • FileAppender - аппендер использующий файлы для записи событий логирования

Наряду со стандартными методами DLogger, про которые можно прочитать здесь. DLoggerNode предоставляет ряд дополнительных методов для работы с FileAppender.

1.1 Методы конфигурации и управления аппендерами

1.1.1 Метод addFileAppender

Метод для добавления FileAppender. Параметры функции описаны в таблице ниже

ПараметрТипЗначение по умолчаниюОписание
pathToDirstringОбязательное для заполнения. Путь до директории лог файлов.
isRotatingFilesbooleanfalseАктивация механизма ротации файлов (удаление старых файлов)
filePrefixstringnullПрефикс для файлов логирования
levelstringnullУстанавливает уровень логирования аппендера
templatefunctionnullФункция определяющая шаблон строки логирования аппендера (шаблоны).
stepInStacknumberconfig.stepInStackИндекс в стеке вызовов ошибки для определения файла и позиции вызова метода логирования. Если библиотека показывает не верный файл вызова метода логирования, то необходимо поменять данный параметр.

Пример использования:

import {$log} from '@dlabs71/d-logger-node';

$log.addFileAppender('/var/log/app', true);

1.1.2 Метод getFileAppenders

Метод для получения списка всех FileAppender-ов.

import {$log} from '@dlabs71/d-logger-node';

$log.addFileAppender('/var/log/app', true);
let fileAppenders = $log.getFileAppenders();
// fileAppenders = [FileAppender] 

1.1.3 Метод existFileAppender

Метод для проверки существования FileAppender-ов в списке аппендеров

import {$log} from '@dlabs71/d-logger-node';

$log.addFileAppender('/var/log/app', true);
let exist = $log.existFileAppender();
// exist = true

1.1.4 Метод deleteAllFileLogs

Метод для удаления всех лог файлов

import {$log} from '@dlabs71/d-logger-node';

$log.addFileAppender('/var/log/app', true);
$log.deleteAllFileLogs();

Больше информации можно найти в разделе Документация проекта @dlabs71/d-logger