3.1.2 • Published 2 years ago
@tolga1452/logchu v3.1.2
logchu
Very simple and cool logger for your Node.js projects. Supports JavaScript and TypeScript.
Features
| Feature | 
|---|
| ✅ Fully customizable | 
| ✅ Basic logging | 
| ✅ Chalk support | 
| ✅ RGB, ANSI, Decimal, Hexadecimal support | 
| ✅ JavaScript & TypeScript support | 
| ✅ Advanced logging | 
| ✅ Log level support | 
| ✅ Custom colors | 
| ✅ Custom loggers | 
| ✅ Randomized logging | 
| ✅ Rainbow logging | 
| ✅ Config file support | 
| ✅ Built-in colors | 
| ✅ Custom logger logic support | 
| ✅ Log file support | 
| ✅ Log event support | 
Installation
npm install @tolga1452/logchuUsage
const { logger, ColorPreset, fromChalk, LogType } = require('@tolga1452/logchu');
// Basic usage
logger.info('Hello, world!');
logger.success('Hello, world!');
logger.warning('Hello, world!');
logger.error('Hello, world!');
logger.debug('Hello, world!');
// With styles and color presets
logger.info('Hello, world!', { bold: true });
logger.custom('Hello, world!', { color: ColorPreset.Magenta, italic: true, type: LogType.Debug });
logger.custom('Hello, world!', ColorPreset.Cyan);
// With chalk
const chalk = require('chalk');
logger.custom('Hello, world!', fromChalk(chalk.dim.red(' '))); // You have to use a single space character as text for chalkRandomization
const { logger } = require('@tolga1452/logchu');
logger.random('Hello, world!', { bold: true }); // Log with random color
logger.fullRandom('Hello, world!', { inverse: true }); // Fully random log with overwritesAdvanced Logs
write Methd
const { write, ColorPreset } = require('@tolga1452/logchu');
write(
    {
        color: ColorPreset.LightGray,
        italic: true
    },
    {
        text: 'First one was default config ',
        color: ColorPreset.LightGreen
    },
    {
        text: 'this is ',
        useDefault: true
    },
    {
        text: 'awesome!',
        color: ColorPreset.LightCyan,
        bold: true
    }
);Custom Logger Logic
const { CustomLogger } = require('@tolga1452/logchu');
const myCustomLogger = new CustomLogger({
    _logic: log => {
        console.log('Put your custom logic here.');
        console.log('This will be runned along with the default logic.');
    },
    info: { color: ColorPreset.BackgroundBlue, italic: true }
}, true); // true for overwrite default logicCustom Colors
Supports Hexadecimal, RGB, decimal and ANSI colors.
In Your Code
const { logger } = require('@tolga1452/logchu');
logger.custom('Hello, world!', { color: '#f44747' });From Config File
- Create a file named 
logchu.config.jsin your project root. - Add the following code to the file:
 
module.exports = {
    customColorPresets: {
        myCustomColor: '#639dff'
    }
};- Use it in your code:
 
const { logger, userColor } = require('@tolga1452/logchu');
logger.custom('Hello, world!', userColor('myCustomColor'));Custom Loggers
In Your Code
const { CustomLogger, ColorPreset } = require('@tolga1452/logchu');
const myCustomLogger = new CustomLogger({
    info: { color: ColorPreset.BackgroundBlue, italic: true },
    success: { color: ColorPreset.LightGreen, bold: true },
    trolley: { color: '#9b4eea', bold: true }
});
myCustomLogger.info('Hello, world!');
myCustomLogger.success('Hello, world!', { bold: false });
myCustomLogger.trolley('Hello, world!', ColorPreset.BackgroundRed);From Config File
- Create a file named 
logchu.config.jsin your project root. - Add the following code to the file:
 
const { ColorPreset } = require('@tolga1452/logchu');
module.exports = {
    customLoggers: {
        myCustomLogger: {
            info: { color: ColorPreset.BackgroundBlue, italic: true },
            success: { color: '#80b918', bold: true },
            trolley: { color: '$custom:myCustomColor', bold: true }
        }
    },
    customColorPresets: {
        myCustomColor: '#e84118'
    }
};- Use it in your code:
 
const { useLogger } = require('@tolga1452/logchu');
const myCustomLogger = useLogger('myCustomLogger');
myCustomLogger.info('Hello, world!');Saving Logs
- Create a file named 
logchu.config.jsin your project root. - Add the following code to the file:
 
module.exports = {
    logFile: './logs.txt'
};Log Events
- Create a file named 
logchu.config.jsin your project root. - Add the following code to the file:
 
const { Watcher } = require('@tolga1452/logchu');
module.exports = {
    watcher: new Watcher()
};- Use it in your code:
 
const { logger, LogEvent } = require('@tolga1452/logchu');
const { watcher } = require('./logchu.config');
watcher.on(LogEvent.Info, log => {
    console.log('Info log event triggered:', log);
});
logger.info('Hello, world!');