Skip to content

Commit f1c49b1

Browse files
Mayur KadamMayur Kadam
Mayur Kadam
authored and
Mayur Kadam
committed
Correction in file structure
1 parent 0d2619d commit f1c49b1

File tree

78 files changed

+103
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+103
-0
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Logger } from "./Logger";
2+
3+
class DebugLogger extends Logger {
4+
5+
constructor(nextLogger: Logger | null = null) {
6+
super(nextLogger);
7+
}
8+
9+
log(logLevel: number, message: string) {
10+
if (logLevel === Logger.DEBUG) {
11+
console.log(`DEBUG : ${message}`);
12+
} else {
13+
super.setNext(logLevel, message);
14+
}
15+
}
16+
}
17+
18+
export { DebugLogger };
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { Logger } from "./Logger";
2+
3+
class ErrorLogger extends Logger {
4+
constructor(nextLogger: Logger | null = null) {
5+
super(nextLogger);
6+
}
7+
8+
log(logLevel: number, message: string) {
9+
if (logLevel === Logger.ERROR) {
10+
console.log(`ERROR : ${message}`);
11+
} else {
12+
super.setNext(logLevel, message);
13+
}
14+
}
15+
}
16+
17+
export { ErrorLogger };
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Logger } from "./Logger";
2+
3+
class InfoLogger extends Logger {
4+
5+
constructor(nextLogger: Logger | null = null) {
6+
super(nextLogger);
7+
}
8+
9+
log(logLevel: number, message: string) {
10+
if (logLevel === Logger.INFO) {
11+
console.log(`INFO : ${message}`);
12+
} else {
13+
super.setNext(logLevel, message);
14+
}
15+
}
16+
}
17+
18+
export { InfoLogger };
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
abstract class Logger {
2+
static INFO = 1;
3+
static DEBUG = 2;
4+
static ERROR = 3;
5+
static WARNING = 4;
6+
7+
nextLogger: Logger | null;
8+
constructor(nextLogger: Logger | null = null) {
9+
this.nextLogger = nextLogger;
10+
}
11+
12+
abstract log(logLevel: number, message: string);
13+
14+
setNext(logLevel: number, message: string) {
15+
this.nextLogger?.log(logLevel, message);
16+
}
17+
}
18+
19+
export { Logger };
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { Logger } from "./Logger";
2+
3+
class WarningLogger extends Logger {
4+
constructor(nextLogger: Logger | null = null) {
5+
super(nextLogger);
6+
}
7+
8+
log(logLevel: number, message: string) {
9+
if (logLevel === Logger.WARNING) {
10+
console.log(`WARNING : ${message}`);
11+
} else {
12+
super.setNext(logLevel, message);
13+
}
14+
}
15+
}
16+
17+
export { WarningLogger };
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { Logger } from "./Logger";
2+
import { InfoLogger } from "./InfoLogger";
3+
import { DebugLogger } from "./DebugLogger";
4+
import { ErrorLogger } from "./ErrorLogger";
5+
import { WarningLogger } from "./WarningLogger";
6+
7+
8+
const loggerObj: Logger = new InfoLogger(new DebugLogger(new ErrorLogger(new WarningLogger())));
9+
10+
11+
loggerObj.log(Logger.DEBUG, "ITS DEBUG VALUE");
12+
loggerObj.log(Logger.INFO, "HEY THIS IS INFORMATION");
13+
loggerObj.log(Logger.ERROR, "EXCEPTION CAUGHT");
14+
loggerObj.log(Logger.WARNING, "ITS WARNING ON REDNERING");
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)