@yucom/logger
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

Alfa-Logger

Preconfigured logger for most uses.

How to use

Set Up

npm install @yucom/logger --save

First of all, set where to log to.

    const Logger = require('@yucom/logger')
    Logger.logTo("/path/to/log")

Valid values are "console", "stdout" (synonym of "console"), "docker" (currently uses stdout) and a path to a folder.

If a folder is specified, when in production mode (environment variable NODE_ENV has value production) folder is created if not exist and log files are created there. Files are rotated dialy and old files are conserved for 5 days and finally deleted. When not in production environment, logs to the console, ignoring the folder. Log level is also preconfigured based on environment. In production, only error and warn are logged. When not in production, all levels are shown.

If @yucom/context is installed, variable txid is included in log

Begin To Write

In your program files, just write:

    const Logger = require('@yucom/logger')
    
    Logger.debug("This is my first message")
    //[2018-11-22T04:08:55.017Z] DEBUG: This is my first message
    
    Logger.error("This is my first error")
    //[2018-11-22T04:09:55.017Z] ERROR: This is my first error
    
    try {
        (null).jump()  //
    } catch(err) {
        Logger.error(err)
    }
    //[2018-11-22T04:22:19.249Z] ERROR: TypeError: Cannot read property 'jump' of null

Available methods/levels, sorted from less to more important are:

  • silly
  • debug
  • verbose
  • info
  • warn
  • error

All of then takes any as argument.

Scoped Loggers

In previous examples a global logger is used. In practice, it is recommended to do all your stuff with a scoped logger. A scoped logger is exactly like the global logger but it's created with a label which is shown at the begining of every message.

    //Notice the scope as an argument at the end of this line
    const Logger = require('@yucom/logger')('my-module')
    
    Logger.debug("This is my first message")
    //[2018-11-22T04:08:55.017Z][my-module] DEBUG: This is my first message
    //                           ^--- Here it is!

Readme

Keywords

none

Package Sidebar

Install

npm i @yucom/logger

Weekly Downloads

1

Version

0.2.0

License

ISC

Unpacked Size

10.6 kB

Total Files

6

Last publish

Collaborators

  • leolobeto