# Simple log system ```javascript var log = require('hlogger').createLogger("name"); log.info("test"); ``` --- ## Initial relase Simple pet project that contains ways to create new Writers, Adapters #### Logger The way developer issues logging ```javascript log.info("info log"); log.error("error log"); log.warn("warning log"); log.verb("verbose log"); ``` #### Adapter Log filtering, adapters can be created to receive only error, warning logs #### Writer Attached to adapter, writers will be responsible to write the logs either files, console, sql, socket Right now only two predefined loggers availalbe: file and console ### Log formats Formats for adapters: * __%m__ - The actual message * __%c__ - logWriter count * __%l__ - TAG name [ERROR,WARN,INFO,VERBOSE] * __%n__ - Logger name * __%e__ - Ellapsed time per writer * __%E__ - Ellapsed per Logger * __%t__ - Date string * __%a__ - Ascii escape char * __%%__ - Literal '%' * __%|__ - Special case, all chars after %| will be presented on the right ### Config format: Simple: ```json { "writers":{ "myconsole": { "writer":"console" } }, "loggers": { "main":["ERROR","VERBOSE","INFO","WARN"] }, "adapters" : [ { "levels": ["INFO","VERBOSE","WARN","ERROR"], "writers": ["myconsole"], "loggers": { "Hello": ["INFO"], "main": ["ERROR"] } } ] } ``` Create a set of writers, and setup adapters using those writers ```json { "writers" : { "filetolog":{ "writer":"file", "opts":{ "path":"access.log" } }, "errorfile": { "writer":"file", "opts": { "path":"error.log" } }, "console1": { "writer":"console", "opts":{ "format":{ "ERROR":"-------------- ERR %m -----------------" } } }, "console": { "writer":"console" } }, "adapters" : [ { "levels": ["INFO","VERBOSE"], "writers": ["filetolog","console"] }, { "levels":["ERROR","WARN"], "writers": ["errorfile","console1"] } ] } ```