0.5.0 • Published 4 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});