@tycrek/log v0.7.5
tlog
My custom logger library
Features
- 🌈 Colours, timestamps, & labels
- 🔧 Easily configurable
- 🔗 Method chaining
- ⚙ Utility logs
- 📝 Comments
- 🔌 Express.js middleware
- 🚀 No
console
wrapping
Installation
Install using npm i @tycrek/log
, then load it into your project:
// Import TLog
import { TLog } from '@tycrek/log';
// or
const TLog = require('@tycrek/log');
// Set up a new instance
const logger = new TLog();
// or, set a level
const logger = new TLog('info');
Prints an info log:
logger.info('Hello, hell!');
Methods return the logger instance, allowing for method chaining:
logger
.warn('Wait, why are we in hell?')
.debug('Because we\'re not using industry standard logging libs!');
You can configure TLog options with the following methods:
Method | Description |
---|---|
.setLevel(level) | Sets the minimum log level to print. |
.setTimestamp({}) | Enables or disables the timestamp, or configures colour, preset, & format. |
.setLabel({}) | Enables or disables the label, or configures padding, case, & alignment. |
.setTitle({}) | Sets the title delimiter. |
.setExtra({}) | Sets the extra prefix & suffix. |
.setComments({}) | Sets the comment character & colour. |
Timestamps use Luxon. To see what options are available for timestamp.preset
& timestamp.format
, review the Luxon documentation:
General log methods
logger.[level](title, message?, extra?)
Prints a log with the specified level. The title
is printed in bold & colour, followed by the message
in normal text. If extra
is provided, it is printed in italics after the message.
You may pass 1, 2, or 3 parameters to these methods (message; title & message; title, message, & extra).
Possible levels are:
Level | Severity |
---|---|
debug | 100 |
info | 200 |
warn | 300 |
error | 400 |
fatal | 500 |
Additional log levels are available for your convenience:
Level | Severity |
---|---|
utils | 100 |
success | 200 |
express | 200 |
Utility logs
Method | Description |
---|---|
.pid() | Prints the current process ID. |
.cwd() | Prints the current working directory. |
.epoch() | Prints the current Unix epoch in milliseconds. |
.uptime() | Prints the process uptime in seconds. |
.comment(message) | Prints a comment-like log. Useful for demoing outputs. |
.basic(message) | Prints a basic log with a timestamp (if enabled). |
Invisible utility logs
Method | Description |
---|---|
.blank() | Prints a blank line. |
.clear() | Clears the console using Unicode escape sequences. May behave differently on different platforms. |
.callback(cb) | Calls the provided cb function. |
Express.js middleware
TLog comes with an included Express middleware. To use it, simply import it & add it to your Express app:
import { TLog } from '@tycrek/log';
import express from 'express';
const logger = new TLog();
const app = express();
app.use(logger.express());
app.get('/', (req, res) => res.send('Hello, world!'));
app.listen(3000);
The middleware is still a bit of a work-in-progress following the TypeScript rewrite, but it should work fine for most use cases.
You can configure the middleware with the following options:
Option | Description |
---|---|
excludePaths | An array of paths to exclude from logging. |
excludeMethods | An array of HTTP methods to exclude from logging. |
trimPaths | Must be either false or an Object. |
trimPaths.maxLength | Any paths longer than this will be trimmed. |
trimPaths.delimiter | The character to use to replace trimmed path segments. |
morganMode | Mimics the behaviour of morgan. Not yet implemented. |
🍁 Colours.
Colours. I am Canadian. It is colours. If you don't like it, go fork yourself.
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago