Small and super simple console logger with log level, formatter and custom reporter support
npm install tiny-console-loggerSmall and super simple console logger with log level, formatter and custom reporter support. Runs in node and the browser, written in TypeScript.
```
npm i tiny-console-logger
`ts
import createLogger, { LogLevel } from 'tiny-console-logger';
const logger = createLogger();
logger.setLevel(LogLevel.INFO);
logger.log('Hello');
`
- LogLevel.ERROR: allows .error callsLogLevel.WARN
- : allows .warn calls and calls aboveLogLevel.INFO
- : allows .log and .info calls and calls aboveLogLevel.DEBUG
- : allows .debug calls and calls aboveLogLevel.TRACE
- : allows .trace calls and calls above
A reporter does the actual logging. The default reporter uses the global console, but it's also possible to use a custom reporter:
`ts[${logLevel}] ${args.map(String).join(' ')}
const arrayLog = [];
logger.setReporter((args, methodName, logLevel) => {
arrayLog.push();`
});
Because reporters are functions, they are easy to combine:
`ts
import createLogger, { defaultReporter } from 'tiny-console-logger';
const arrayLog = [];
const logger = createLogger();
logger.setReporter((args, methodName, logLevel) => {
arrayLog.push([${logLevel}] ${args.map(String).join(' ')});`
defaultReporter(args, methodName, logLevel);
});
A formatter modifies arguments passed to the reporter. The default formatter just returns arguments as-is, but it's possible to use a custom formatter:
`ts`
logger.setFormatter(args => ['[prefix]', ...args]);
Or:
`ts[${logLevel}:prefix]
logger.setFormatter((args, methodName, logLevel) => [
,(console.${methodName})
...args,
`
]);
#### Logging methods
- trace(...args: any[])debug(...args: any[])
- info(...args: any[])
- log(...args: any[])
- warn(...args: any[])
- error(...args: any[])
-
#### setLevel(level: LogLevel)
Sets the log level.
``
logger.setLevel(LogLevel.ERROR)
#### getLevel(): LogLevel
Returns the current log level.
#### setFormatter(formatter: Formatter)
Sets custom formatter.
#### setReporter(reporter: Reporter)`
Sets custom reporter.