@yukiakai/logger
v1.1.1
Published
A lightweight static logger for Node.js using native `console.log` but with log levels and `debug`-style control.
Maintainers
Readme
@yukiakai/logger
A lightweight static logger for Node.js using native console.log but with log levels and debug-style control. Zero dependencies.
Human-friendly output.
Keep Node's beautiful console formatting, but controllevellikepinoordebug.
Features
- Uses Node.js native
console, keepsutil.inspectformatting (colors, depth, etc.) - Support
debug,info,warn,error,fatal,silent - Static & global, no instance needed.
- Control log level via
process.env.LOG_LEVELor code. - Filter logs by caller file path via
Logger.path. - No dependencies. Zero overhead.
Install
npm i @yukiakai/loggerUsage
ESM (TS)
import { Logger } from '@yukiakai/logger';
// Set level once (global, static)
Logger.level = process.env.LOG_LEVEL as any || 'info';
// Custom filter log path
Logger.path = './src/';
Logger.info('Server started', { port: 3000 });
Logger.debug('Debug data', { foo: 123, bar: 456 });
Logger.warn('Warning', 'some detail');
Logger.error('Something failed', new Error('Oops'));CJS
const { Logger } = require('@yukiakai/logger');
// Set level once (global, static)
Logger.level = process.env.LOG_LEVEL || 'info';
// Custom filter log path
Logger.path = './src/';
Logger.info('Server started', { port: 3000 });
Logger.debug('Debug data', { foo: 123, bar: 456 });
Logger.warn('Warning', 'some detail');
Logger.error('Something failed', new Error('Oops'));Output example:
[INFO] Server started { port: 3000 }
[DEBUG] Debug data {
foo: 123,
bar: 456
}
[WARN] Warning some detail
[ERROR] Something failed Error: Oops
at ...Why?
- You don’t want to delete
console.logeverywhere when done debugging. - You love Node’s
console.log(a, b, c)style (no JSON lines, no forced format). - You want
debug-style control, but for structured console output. - No external packages. No bloat.
Log Levels
| Level | Logs |
|----------|----------------|
| fatal | Fatal only |
| error | Error + Fatal |
| warn | Warn + Error |
| info | Info + Warn + Error |
| debug | All logs |
| silent| Nothing |
Set via:
LOG_LEVEL=debug node app.jsOr in code:
Logger.level = 'warn';Log Path
You can configure the logger to only log messages when called from specific files by setting the Logger.path option.
Set via code
Logger.path = './src/';Default behavior
If Logger.path is not set, the logger will log from all files under the current working directory (process.cwd()), excluding any files inside node_modules/.
API
| Method | Description |
|---------|-------------|
| Logger.debug(...args) | Debug logs |
| Logger.info(...args) | Info logs |
| Logger.warn(...args) | Warn logs |
| Logger.error(...args) | Error logs |
| Logger.fatal(...args) | Fatal logs |
All methods accept console.log style arguments:log(a, b, c, {d: 1})
Changelog
See full release notes in CHANGELOG.md
License
MIT © Yuki
