Compare commits
3 Commits
v1.0.1-bet
...
fix/args-u
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7bb65de4f | ||
|
|
f5b9bc7b69 | ||
|
|
8e3a6f0ccd |
4
index.ts
4
index.ts
@@ -1,4 +1,4 @@
|
|||||||
export * from './logger';
|
export * from './logger';
|
||||||
export { LoggerComponent, LogLevel, getLogger, logger } from './logger';
|
export { LoggerComponent, LogLevel, getLogger, logger } from './logger';
|
||||||
export const version = '1.0.0';
|
export const version = '1.0.1-beta.4';
|
||||||
export const ior = 'com.metatrom.examples.logger@1.0.0';
|
export const ior = 'com.metatrom.universal-components.logger@1.0.1-beta.4';
|
||||||
|
|||||||
72
logger.d.ts
vendored
72
logger.d.ts
vendored
@@ -1,38 +1,36 @@
|
|||||||
declare module 'ior:esm:com.metatrom.examples.logger@1.0.0' {
|
export enum LogLevel {
|
||||||
export enum LogLevel {
|
TRACE = 0,
|
||||||
TRACE = 0,
|
DEBUG = 1,
|
||||||
DEBUG = 1,
|
INFO = 2,
|
||||||
INFO = 2,
|
WARN = 3,
|
||||||
WARN = 3,
|
ERROR = 4,
|
||||||
ERROR = 4,
|
FATAL = 5,
|
||||||
FATAL = 5,
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ILoggerComponent {
|
|
||||||
init(): Promise<void>;
|
|
||||||
setLevel(level: LogLevel): void;
|
|
||||||
trace(message: string, ...args: unknown[]): void;
|
|
||||||
debug(message: string, ...args: unknown[]): void;
|
|
||||||
info(message: string, ...args: unknown[]): void;
|
|
||||||
warn(message: string, ...args: unknown[]): void;
|
|
||||||
error(message: string, ...args: unknown[]): void;
|
|
||||||
fatal(message: string, ...args: unknown[]): void;
|
|
||||||
child(context: string): ILoggerComponent;
|
|
||||||
}
|
|
||||||
|
|
||||||
export class LoggerComponent implements ILoggerComponent {
|
|
||||||
constructor(context?: string);
|
|
||||||
init(): Promise<void>;
|
|
||||||
setLevel(level: LogLevel): void;
|
|
||||||
trace(message: string, ...args: unknown[]): void;
|
|
||||||
debug(message: string, ...args: unknown[]): void;
|
|
||||||
info(message: string, ...args: unknown[]): void;
|
|
||||||
warn(message: string, ...args: unknown[]): void;
|
|
||||||
error(message: string, ...args: unknown[]): void;
|
|
||||||
fatal(message: string, ...args: unknown[]): void;
|
|
||||||
child(context: string): ILoggerComponent;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getLogger(context?: string): ILoggerComponent;
|
|
||||||
export const logger: LoggerComponent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ILoggerComponent {
|
||||||
|
init(): Promise<void>;
|
||||||
|
setLevel(level: LogLevel): void;
|
||||||
|
trace(message: string, ...args: unknown[]): void;
|
||||||
|
debug(message: string, ...args: unknown[]): void;
|
||||||
|
info(message: string, ...args: unknown[]): void;
|
||||||
|
warn(message: string, ...args: unknown[]): void;
|
||||||
|
error(message: string, ...args: unknown[]): void;
|
||||||
|
fatal(message: string, ...args: unknown[]): void;
|
||||||
|
child(context: string): ILoggerComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class LoggerComponent implements ILoggerComponent {
|
||||||
|
constructor(context?: string);
|
||||||
|
init(): Promise<void>;
|
||||||
|
setLevel(level: LogLevel): void;
|
||||||
|
trace(message: string, ...args: unknown[]): void;
|
||||||
|
debug(message: string, ...args: unknown[]): void;
|
||||||
|
info(message: string, ...args: unknown[]): void;
|
||||||
|
warn(message: string, ...args: unknown[]): void;
|
||||||
|
error(message: string, ...args: unknown[]): void;
|
||||||
|
fatal(message: string, ...args: unknown[]): void;
|
||||||
|
child(context: string): ILoggerComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getLogger(context?: string): ILoggerComponent;
|
||||||
|
export const logger: LoggerComponent;
|
||||||
|
|||||||
15
logger.ts
15
logger.ts
@@ -177,14 +177,19 @@ export class LoggerComponent implements ILoggerComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Export a singleton instance for convenience
|
// Cache logger instances by context to avoid recreating them
|
||||||
let defaultLogger: LoggerComponent | null = null;
|
const loggerCache = new Map<string, LoggerComponent>();
|
||||||
|
|
||||||
export function getLogger(context = 'main'): ILoggerComponent {
|
export function getLogger(context = 'main'): ILoggerComponent {
|
||||||
if (!defaultLogger) {
|
// Return cached logger for this context if it exists
|
||||||
defaultLogger = new LoggerComponent(context);
|
if (loggerCache.has(context)) {
|
||||||
|
return loggerCache.get(context)!;
|
||||||
}
|
}
|
||||||
return defaultLogger;
|
|
||||||
|
// Create new logger for this context
|
||||||
|
const newLogger = new LoggerComponent(context);
|
||||||
|
loggerCache.set(context, newLogger);
|
||||||
|
return newLogger;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Export default instance
|
// Export default instance
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "@metatrom/logger",
|
"name": "@metatrom/logger",
|
||||||
"version": "1.0.1-beta.1",
|
"version": "1.0.1-beta.4",
|
||||||
"main": "logger.ts",
|
"main": "index.ts",
|
||||||
|
"types": "logger.d.ts",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"metatrom": {
|
"metatrom": {
|
||||||
"ior": "com.metatrom.universal-components.logger@1.0.1-beta.1",
|
"ior": "com.metatrom.universal-components.logger@1.0.1-beta.4",
|
||||||
"capabilities": {
|
"capabilities": {
|
||||||
"p2p": false,
|
"p2p": false,
|
||||||
"contracts": false,
|
"contracts": false,
|
||||||
|
|||||||
Reference in New Issue
Block a user