Logsen
The only logger you will ever need in NodeJS.
Installation
Just install it like any other package from npm.
$ npm i logsen
You don't need to install typings for it, they ship with the regular installation.
Usage
JavaScript
You can just require it like any other JS-module.
const $ = ;
If you want to import the ExpressUtils
aswell, use the destructor-import:
const $ ExpressUtils = ;
TypeScript
You can just import it like a regular TS-module.
;
If you want to import the ExpressUtils
aswell, destructor your import:
;
Functionality
Patterns
You can use a custom pattern for logged messages. If you don't want create your own format, a default format is automatically used.
Logsen supports the following placeholders for formatting the date:
DD
for daysMM
for monthsYY
andYYYY
for yearshh
for hoursmm
for minutesss
for seconds
You can change the pattern for the root logger whenever you want:
$.config.formatter = new PatternFormatter"DD-hh_MM:mm.YY,ss";
Logging
Logsen
's loggers provides you some functions to manage your console-output:
/** * Log a custom record to the default backend. * It is not styled, just like you would use "console.log(...)". */$.log; /** * Log something to the default backend, but with a blue "[INFO]" infront of it. */$.info"..."; /** * Log something to the default backend, but with a green "[SUCCESS]" infront of it. */$.success"..."; /** * Log something to the standard error, but with a red "[ERROR]" infront of it. */$.error"...";
Child Loggers
The default logger in Logsen is called the "root" logger and is exported under the name $
. You can, however, create custom loggers that inherit the configuration like this:
;
This will automatically copy the configuration and the selected backend from the root logger $
for all unspecified properties.
Of course, you can also create your completely own loggers:
;
Note that this will, however, ignore the root logger's configuration and is thus discouraged for libraries.
Custom Backends
Logsen
also makes it easy to log to other destinations than stdout. For example, you can easily configure the root logger to output both to stdout and a file:
$.backend = new CombinedBackend;
Express
To log incoming requests to your express-application, you can use ExpressUtils.log
:
/** * Import Express and ExpressUtils. */;; /** * Create express app and use the logging middleware in it. */;app.useExpressUtils.log; /** * Now every request will be logged like this: * * [METHOD] <URL> */...