UNPKG

fock-logger

Version:

Simple logger for your pet-project

150 lines (116 loc) 6.33 kB
# Logger Простой вывод выших сообщений в консоль ![Static Badge](https://img.shields.io/badge/fockusty-logger-logger) ![GitHub top language](https://img.shields.io/github/languages/top/fockusty/logger) ![GitHub](https://img.shields.io/github/license/fockusty/logger) ![GitHub Repo stars](https://img.shields.io/github/stars/fockusty/logger) ![GitHub issues](https://img.shields.io/github/issues/fockusty/logger) ![Logotype](./assets/logger.logo.svg) ```cmd npm install --save fock-logger@latest ``` ## Предисловие Обязательно импортируйте конфиг `fock-logger/config` первым, если хотите его настраивать (чтобы изменения всегда были актуальны) ```ts import { Configurator } from "fock-logger/config"; import { join } from "path"; new Configurator({ dir: join(__dirname, "fock-logger"), logging: true, create_file: true, overwrite_file: true, level: "warn", date: false, }); import Logger from "fock-logger"; const logger = new Logger("Tester"); /* ... */ ``` ## Примеры ```ts /* Импортируем конфиг, желательно, чтобы он находился вверху импортов */ import { Configurator } from "fock-logger/config"; /* Устанавливаем свои значение в конфиг */ /* Тут мы установили значение date на false, потому что мне лень в примере писать дату */ /* Вы можете устанавливать свои значение, указанные в конфиге */ new Configurator({ date: false }); import { Colors } from "fock-logger/colors"; import Logger from "fock-logger"; /* dir - Ваша папка, где находится конфиг */ /* loggerName - Название вашего логгера */ const dir = "./"; const loggerName = "The Void"; /* MY-APP-NAME */ /* Первый logger - бесцветный */ /* Второй logger - с цветами, первый цвет - цвет логгера, второй цвет - цвет сообщения */ const baseLogger = new Logger(loggerName, { dir }); const colorableLogger = new Logger(loggerName, { dir, colors: [Colors.magenta, Colors.reset], }); /* Если вы хотите вывести бесцветное сообщение в чат, просто введите текст */ /* Однако это сработает только при том случае, если в конфиге не будет указано цветов по умолчанию */ baseLogger.execute("Hello, World !"); // \u001B[35mThe Void\u001B[0m: \u001B[0mHello, World !\u001B[0m (The Void: Hello, World!) colorableLogger.execute("Hello, World !"); // \u001B[35mThe Void\u001B[0m: \u001B[0mHello, World!\u001B[0m (The Void: Hello, World!) colorableLogger.execute("Hello, World !", { color: Colors.magenta }); // \u001B[35mThe Void\u001B[0m: \u001B[35m0mHello, World!\u001B[0m (The Void: Hello, World!) ``` ## config-файл config-файл называется `.loggercfg`, его можно создать автоматически: ```ts import { Configurator } from "fock-logger/config"; new Configurator({ create_file: true, dir: "../", level: "info" /* тут могут быть ещё значения из конфига */, }); ``` Стандартный файл выглядит так: ```json { "logging": true, "dir": "./", "level": "info", "defautLevel": "info", "levels": { "info": 1, "warn": 2, "error": 3 }, "deletion_interval": 7, "date": true, "colors": ["\u001b[0m", "\u001b[0m"], "loggers": { "Success": { "name": "Success", "colors": ["\u001b[31m", "\u001b[32m"] }, "Fail": { "name": "Fail", "colors": ["\u001b[31m", "\u001b[31m"] } } } ``` Рассмотрим подробнее - `logging` — Булевое значение, если `true`, то все логи будут выводит, иначе логгер перестанет работать - `dir` — Ваша папка, где будет лежать config-файл `.loggercfg`, и папка `log`, принимает значения типа: `string`. - `level` — Уровень логирования в консоли - `info` — Вся информация - `warn` — Предупреждения - `error` — Ошибки, принимает значения типа: `string` - `defaultLevel` — Уровень по умолчанию для всех логгеров - `levels` — Все доступные уровни логирования - `deletion_interval` — Промежуток удаления лога, принимает значение типа `number`, отображает количесто дней (Количество дней, после которых лог удалится) - `date` — Включает и выключает дату в консоли - `colors` — Стандартные цвета для логгера, принимает значения типа: `[Colors, Colors]`. - `loggers` — Ваши логгеры, принимает значения типа: `LoggersNameType` (`{[key: string]: {name: string, colors: [Colors, Colors]}}`). ## Внимание - Если у Вас есть файл `loggers.json` логгеры не будут записываться в конфиг. - Чтобы их записывать в конфиг, удалите файл `loggers.json`. - Или иначе, если Вам конфиг не нужен и Вас устраивают стандартные значение, то ничего не делаете, `loggers.json` сам создаться с предустановленными настройками. ## Если - Если возникли проблемы или сложности, создайте [обсуждение](https://github.com/fockusty/logger/issues/new/choose) в репозитории - Если Вы заметили проблемы в коде, пишите мне в [Discord](https://discord.gg/97J8mnn4Gr) или в [Telegram](https://t.me/The_Void_Community) ![Banner](./assets/logger.banner.svg)