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