Compare commits
3 Commits
v1.0.1-bet
...
v1.0.1-bet
| 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';
|
||||||
|
|||||||
2
logger.d.ts
vendored
2
logger.d.ts
vendored
@@ -1,4 +1,3 @@
|
|||||||
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,
|
||||||
@@ -35,4 +34,3 @@ declare module 'ior:esm:com.metatrom.examples.logger@1.0.0' {
|
|||||||
|
|
||||||
export function getLogger(context?: string): ILoggerComponent;
|
export function getLogger(context?: string): ILoggerComponent;
|
||||||
export const logger: LoggerComponent;
|
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