Table of Contents
Designing a Modular Logging System with the Chain uf Responsibility Mønster
Det er en god udvikling, en effektiv løsning på problemet med at finde en løsning på problemet med overvågning og overvågning.
Hvad er det for et svar?
Dette er en adfærd, der er en forudsætning for, at det er muligt at gøre indsigelse mod en anmodning om en behandling, der er nødvendig for at kunne håndtere problemet.
Applying the Mønster to Logging
Det er en loging system, hver håndværker repræsenterer en forskellig farve, såsom DEBUG, INFO, WARNING, ERROR, OR CRITICA.
Designing the Modular Logging System
I forbindelse med gennemførelsen af disse modeller defineres en grundlæggende vejledning i, hvordan man anvender denne metode, og hvordan man anvender den.
Here 's a simplified example:
class LogHandler {
constructor(next) {
this.next = next;
}
handle(logLevel, message) {
if (this.next) {
this.next.handle(logLevel, message);
}
}
}
class ErrorHandler extends LogHandler {
handle(logLevel, message) {
if (logLevel === 'ERROR' || logLevel === 'CRITICAL') {
console.log(`[${logLevel}] ${message}`);
} else {
super.handle(logLevel, message);
}
}
}
class InfoHandler extends LogHandler {
handle(logLevel, message) {
if (logLevel === 'INFO') {
console.log(`[INFO] ${message}`);
} else {
super.handle(logLevel, message);
}
}
}
// Setup chain
const errorHandler = new ErrorHandler(null);
const infoHandler = new InfoHandler(errorHandler);
// Usage
infoHandler.handle('ERROR', 'An error occurred.');
infoHandler.handle('INFO', 'Informational message.');
Dette setup tillader adding- nye håndteringer, såsom for DEBUG og andre WARNING-niveauer, at man kan gøre dette logging system highly modular and d adaptable.
Fordele ved Using The Chain Of Responsibility In Loggin
- (1); (1); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (4); (4); (4); (5); (5); (5); (5) (5) (6) (6) (6) (6) (6) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (8) (7) (7) (7) (8)
- 1; FLT: 0; 3; Separatio af koncerner: 1; FLT: 1; FLT: 3; Each handlermanagers a specific log level eller formet.
- (') Se også de særlige bestemmelser i forordning (EØF) nr. 3906 / 87.
- (') Se også de særlige bestemmelser i forordning (EØF) nr. 1408 / 71.
Afsluttende
Dette er et udtryk for en god og fleksibel måde at gøre det på.