npm.io
1.0.13 • Published 4 years agoCLI

@turnkeyid/sexy-logger

Licence
MIT
Version
1.0.13
Deps
10
Size
178 kB
Vulns
1
Weekly
0

Welcome to TurnkeyID Sexy Logger!

License: MIT Author: @fatihaziz Community: TurnkeyID Devs

Simple pretty logger console and save logs into file daily (with error/exception handler)

Goal

  • Services can get their own, standarized and pretty system logger.
  • Services can call simple logger function anywhere
  • Logs all important message and save it into seperated logger file for easy debuging

How to use

  1. install this package
    npm install --save @turnkeyid/sexy-logger
    # or
    yarn add @turnkeyid/sexy-logger
  2. create your own logger function:
       // ./helpers/my-logger.ts
       import { LoggerServiceFactory } from '@turnkeyid/sexy-logger'
       import path from 'path'
    
       const MyLoggerService = LoggerServiceFactory.createLoggerService({
           consoleSilent: false,
           consoleMode: 'VERBOSE',
           consoleShowDump: true,
           consoleIgnoredLevels: ['SILLY'],
           censoredKeys: ['cencored','password'],
           loggerDir: path.resolve(__dirname,'logs'),
       })
    
       export const myLogger = MyLoggerService.createLoggerFn('MY-TYPE') 
       
  3. import it somewhere:
    
       // ./index.ts
       import {myLogger} from './helpers/my-logger.ts'
       myLogger(module,'title',{ data:{ any:'data' } },'SILLY')
       myLogger(module,'error title',{ error:new Error('caught error') },'ERROR')
    
       someAsync = async()=>{
           // do something
       }
       someAsync().then((data)=>{
             myLogger(module,'success!',{ data },'INFO')
       }).catch((error)=>{
             myLogger(module,'error!',{ error },'ERROR')
       })
    
  4. if you got "cannot create logger instance", try to set process.env.SEXY_LOGGER_MAX_INSTANCE= higher than current value.
Preview Sample

alt sample.png

Author

TurnkeyID Developers - Fatihaziz

Question

if you have any question, please contact here:

Show your support

Give a ️ if this project helped you!

Keywords