- Notifications
You must be signed in to change notification settings - Fork0
Tiny logger for web environments
License
scm-spain/piko-logger
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Piko Logger is a tiny logger for web environments.
- It's enabled/disabled through local storage
- Can create an instance of a keyed logger
- Log operations are called in functional way to avoid executions on non-activated log operations
- There are thwo log levels:
- Debug
- Error
- Will format keyed loggers as: LOG_LEVEL | #KEY# | #MESSAGE#
By default the log level is set to off, so logs are disabled.There are two levels of enabling it:
Application level:
"piko.level" = #logLevel
window.localStorage.setItem('piko.level', 'debug')
Keyed logger level:
"piko.level.#key" = #logLevel
Example for a logger initialized with a key with value "exampleKey"
window.localStorage.setItem('piko.level.exampleKey', 'error')
*The keyed logger level overrides the application level, which in turn overrides the default logger level
The logger should be initialized with a custom key to identify the logger.
- key (string): theunique tracker name/identifier that will be used to generate the outputs
import Piko from '@adv-ui/piko-logger'const logger = Piko.logger('MyLibrary')....// optionally use a tagged instance of logger to fine grain where the logged action occursconst taggedLogger = logger.tag('MyFunction')// using the logger methods, logs will show a reference to 'MyLibrary' // using the taggedLogger methods, logs will show a reference to 'MyLibrary # MyFunction'
Once a logger is initialized with a key, that instance should be used to log.
There are six exposed methods, one for each log level (trace, debug, info, warn, error, fatal)
Log info should be passed in a functional way, to avoid execution if the log level is non-activated
If more than one thing should be logged in the same trace, the function should return an array
All data types could be logged
logger.debug(()=> "this is the info I want to log")const error = { name: 'example error', message: 'example error message'}logger.error(()=> ["this is the error I want to log", {error}])
This two example logs will appear in the console like this (using "example" as the key):
DEBUG | example | this is the info I want to log
ERROR | example | this is the error I want to log {name: "example error", message: "example error message"}
Piko Logger isMIT licensed.
About
Tiny logger for web environments
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.