clean up
This commit is contained in:
@@ -65,7 +65,7 @@ export class Logger {
|
||||
const timestamp = new Date().toISOString();
|
||||
const formattedMessage = this.formatMessage(message, ...optionalParameters);
|
||||
const levelString = LoggingLevelMapping.convertLoggingLevelToLoggingLevelType(level);
|
||||
|
||||
|
||||
// Safely call appenders with error handling
|
||||
this._appenders.forEach(appender => {
|
||||
try {
|
||||
@@ -86,22 +86,23 @@ export class Logger {
|
||||
// More efficient parameter substitution
|
||||
let result = message;
|
||||
let paramIndex = 0;
|
||||
|
||||
|
||||
// Replace all {} placeholders with parameters
|
||||
while (result.includes('{}') && paramIndex < optionalParameters.length) {
|
||||
const paramString = this.parameterToString(optionalParameters[paramIndex]);
|
||||
result = result.replace('{}', paramString);
|
||||
paramIndex++;
|
||||
}
|
||||
|
||||
|
||||
// Append remaining parameters if any
|
||||
if (paramIndex < optionalParameters.length) {
|
||||
const remainingParams = optionalParameters.slice(paramIndex)
|
||||
const remainingParams = optionalParameters
|
||||
.slice(paramIndex)
|
||||
.map(param => this.parameterToString(param))
|
||||
.join(' ');
|
||||
result += ` ${remainingParams}`;
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import { ConsoleAppender } from './appenders/ConsoleAppender';
|
||||
import {ConsoleAppender} from './appenders/ConsoleAppender';
|
||||
import IAppender from './appenders/IAppender';
|
||||
import {Logger} from './Logger';
|
||||
import {LoggingLevel, LoggingLevelMapping, LoggingLevelType} from './LoggingLevel';
|
||||
import {LoggingLevel, LoggingLevelMapping} from './LoggingLevel';
|
||||
import {Threshold} from './Threshold';
|
||||
|
||||
export default class LoggerFactory {
|
||||
private static readonly _loggerForCategory: Map<string, Logger> = new Map();
|
||||
private static readonly _threshold: {level: LoggingLevel} = {level: LoggingLevel.Info};
|
||||
private static readonly _appenders: IAppender[] = [new ConsoleAppender()];
|
||||
private static readonly _appenders: IAppender[] = [new ConsoleAppender()];
|
||||
|
||||
public static getLogger(category: string): Logger {
|
||||
let logger = LoggerFactory._loggerForCategory.get(category);
|
||||
|
||||
if (logger === undefined) {
|
||||
logger = new Logger({category, threshold: new Threshold(LoggerFactory._threshold), appenders: LoggerFactory._appenders});
|
||||
|
||||
|
||||
LoggerFactory._loggerForCategory.set(category, logger);
|
||||
}
|
||||
|
||||
@@ -29,4 +29,4 @@ export default class LoggerFactory {
|
||||
private constructor() {
|
||||
throw new Error('[LoggerFactory] is a static class that may not be instantiated');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,19 +12,19 @@ export class ConsoleAppender implements IAppender {
|
||||
console.info(`${timestamp} [${category}] ${message}`);
|
||||
break;
|
||||
|
||||
case LoggingLevel.Error:
|
||||
case LoggingLevel.Error:
|
||||
console.error(`${timestamp} [${category}] ${message}`);
|
||||
break;
|
||||
|
||||
case LoggingLevel.Fatal:
|
||||
case LoggingLevel.Fatal:
|
||||
console.error(`${timestamp} [${category}] ${message}`);
|
||||
break;
|
||||
|
||||
case LoggingLevel.Off:
|
||||
case LoggingLevel.All:
|
||||
case LoggingLevel.Off:
|
||||
case LoggingLevel.All:
|
||||
break;
|
||||
|
||||
default:
|
||||
default:
|
||||
assertUnreachable(level);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user