Easy to use logger for your node.js application
Using npm:
npm i prime-consoleUsing yarn:
yarn add prime-consoleUsing pnpm:
pnpm i prime-consoleimport { logger } from 'prime-console';
logger.info("Hello World!");import { createLogger } from 'prime-console';
export const logger = createLogger(options: LoggerConfig);See LoggerConfig for more details.
- There are two types of reporters:
- Within ReporterLevels you can create a reporter for each log level. These without a reporter will use the default reporter or the reporterOverride if it is set.
import { createLogger } from 'prime-console';
const logger = createLogger({
reporter: {
error: ({ message, type, timestamp, icon, color }, options) => {
console.log(`[${timestamp}] ${icon} ${message}`);
} // This will override the default reporter for error level
},
reporterOverride: ({ message, type, timestamp, icon, color }, options) => {
console.log(`[${timestamp}] ${icon} ${message}`);
} // Level that aren't custom configured will fallback to this reporter
})export type LoggerConfig = Partial<{
level: number;
files: Partial<{
path: string; // Path to the folder where the logs will be saved
extension: "text" | "json";
fileName: string; // Name of the file
}>;
format: Partial<{
colors: boolean;
timestamp: boolean;
}>;
reporter: ReporterLevels;
reporterOverride: ReporterOverride;
}>;export type ReporterLevels = Partial<{
[key in LogType]: (
{ message, type, timestamp, icon, color }: ReporterObject,
options: LoggerConfig,
) => void;
}>;// If this reporterOverride is set in a logger instance, it will override level that aren't custom configured
export type ReporterOverride = (
{ message, type, timestamp, icon, color }: ReporterObject,
options: LoggerConfig,
) => void;Pull requests and stars are always welcome. See contributing.md for ways to get started.
This repository has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.
- Default styles were strongly inspired by
consola