0.5.0 • Published 2 years ago
@vatr/logger v0.5.0
@vatr/logger
Fancy colorful console debugger with custom scope written in tiny TypeScript, ES module.
Example usage
import { createLogger } from 'https://esm.run/@vatr/logger';
const logger = createLogger('demo');
function sayHello (name: string) {
logger.logMethodArgs('sayHello', {name});
}
Debug Mode
Many of the methods in the logger are no-ops when the debug mode is off.
Please remember to reload the window after changing the debug mode.
Debugging all scopes
window.localStorage?.setItem('VATR_LOG', '*');
Debugging specific scope
window.localStorage?.setItem('VATR_LOG', 'scope_name');
Debugging some scopes with pattern
window.localStorage?.setItem('VATR_LOG', '*vatr*');
API
Prepare the logger
import {createLogger} from 'https://esm.run/@vatr/logger';
const logger = createLogger('logger/demo', 'green');
logProperty(property, value)
console.debug
property change.
Example:
logger.logProperty('name', 'ali');
logMethod(method)
console.debug
function or method calls.
Example:
function myMethod () {
logger.logMethod('myMethod');
}
logMethodArgs(method, args)
console.debug
function or method calls with arguments.
Example:
function myMethod (a: number, b: number) {
logger.logMethodArgs('myMethod', {a, b});
}
logMethodFull(method, args, result)
console.debug
function or method calls with arguments.
Example:
function add (a: number, b: number): number {
const result = a + b;
logger.logMethodFull('add', {a, b}, result);
return result;
}
incident(method, code, description, ...args)
console.trace
an event or expected accident. (not warn or error)
Example:
logger.incident('fetch', 'abort_signal', 'aborted signal received', {url: '/test.json'});
accident(method, code, description, ...args)
console.warn
an unexpected accident or error that you handled.
Example:
logger.accident('fetch', 'file_not_found', 'url requested return 404 not found', {url: '/test.json'});
error(method, code, errorStack, ...args)
console.error
an unexpected error.
Example:
try {
...
}
catch (err) {
logger.error('myMethod', 'error_code', (err as Error).stack || err, {a: 1, b: 2});
}
logOther(...args)
Simple console.debug
with styled scope.
Example:
logger.logOther('foo:', 'bar', {a: 1});