Skip to content

Commit 110ec56

Browse files
authored
Merge pull request mouredev#4746 from RicJDev/main
#27 - JavaScript
2 parents 24104c4 + 9a38d6c commit 110ec56

File tree

3 files changed

+363
-159
lines changed

3 files changed

+363
-159
lines changed

Roadmap/25 - LOGS/javascript/RicJDev.js

Lines changed: 49 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const logger = winston.createLogger({
1111
format: winston.format.combine(
1212
winston.format.timestamp({ format: 'DD-MM-YYYY HH:mm:ss' }),
1313
winston.format.printf(({ timestamp, level, message }) => {
14-
return `${timestamp} - [${level.toUpperCase()}]: ${message}`;
14+
return `[${level.toUpperCase()}] - ${timestamp} : ${message}`;
1515
})
1616
),
1717
transports: [new winston.transports.Console()],
@@ -50,58 +50,86 @@ customLevelsLogger.log('Alerta amarilla', 'se muestra en amarillo');
5050
customLevelsLogger.log('Alerta verde', 'se muestra en verde');
5151

5252
//EXTRA
53-
const taskManagerLogger = winston.createLogger({
53+
const taskManagerLogs = winston.createLogger({
5454
level: 'debug',
5555
format: winston.format.combine(
5656
winston.format.timestamp({ format: 'DD-MM-YYYY HH:mm:ss' }),
5757
winston.format.printf(({ timestamp, level, message }) => {
58-
return `${timestamp} - [${level.toUpperCase()}]: ${message}`;
58+
return `[${level.toUpperCase()}] - ${timestamp} : ${message}`;
5959
})
6060
),
61-
transports: [new winston.transports.File({ filename: 'RicJDev.txt' })],
61+
transports: [new winston.transports.Console()],
6262
});
6363

64-
function addToTaskManagerLogger(fun, level, message) {
65-
taskManagerLogger.log(level, message);
64+
function timeLog(fun, log) {
6665
return function (...arg) {
67-
return fun.apply(this, arg);
66+
const start = new Date();
67+
const execute = fun.apply(this, arg);
68+
const end = new Date();
69+
70+
log.debug(
71+
`tiempo de ejecución de ${fun.name}: ${end.getTime() - start.getTime()} milisegundos`
72+
);
73+
74+
return execute;
6875
};
6976
}
70-
7177
class TaskManager {
72-
taskList = new Map();
78+
#taskList = new Map();
7379

7480
addTask(task, description) {
75-
this.taskList.set(task, description);
81+
if (this.#taskList.has(task)) {
82+
taskManagerLogs.warn(`se esta intentando agregar una tarea existente: ${task}`);
83+
taskManagerLogs.debug(`cantidad de tareas ${this.#taskList.size}`);
84+
} else {
85+
this.#taskList.set(task, description);
86+
87+
taskManagerLogs.info(`se ha agregado una tarea a la lista: ${task}`);
88+
taskManagerLogs.debug(`cantidad de tareas ${this.#taskList.size}`);
89+
}
7690
}
7791

7892
deleteTask(task) {
79-
if (this.taskList.has(task)) {
80-
this.taskList.delete(task);
93+
if (this.#taskList.has(task)) {
94+
this.#taskList.delete(task);
95+
96+
taskManagerLogs.info(`se ha eliminado una tarea de la lista: ${task}`);
97+
taskManagerLogs.debug(`cantidad de tareas ${this.#taskList.size}`);
98+
} else {
99+
taskManagerLogs.error(`se esta intentando eliminar una tarea que no existe: ${task}`);
100+
taskManagerLogs.debug(`cantidad de tareas ${this.#taskList.size}`);
81101
}
82102
}
83103

84104
listTasks() {
85-
if (this.taskList.size > 0) {
86-
this.taskList.forEach((description, task) => {
105+
if (this.#taskList.size > 0) {
106+
console.log('\n---- LISTA DE TAREAS ----');
107+
this.#taskList.forEach((description, task) => {
87108
console.log(`- ${task}: ${description}`);
88109
});
110+
console.log('-------------------------\n');
111+
112+
taskManagerLogs.info('se ha mostrado la lista de tareas al usuario');
113+
taskManagerLogs.debug(`cantidad de tareas ${this.#taskList.size}`);
89114
} else {
90-
console.log('No hay tareas registradas');
115+
taskManagerLogs.info('no hay tareas para mostrar');
116+
taskManagerLogs.debug(`cantidad de tareas ${this.#taskList.size}`);
91117
}
92118
}
93119
}
94120

95-
TaskManager.prototype.addTask = addToTaskManagerLogger(
96-
TaskManager.prototype.addTask,
97-
'info',
98-
'se ha añadido una tarea a la lista'
99-
);
121+
TaskManager.prototype.addTask = timeLog(TaskManager.prototype.addTask, taskManagerLogs);
122+
TaskManager.prototype.deleteTask = timeLog(TaskManager.prototype.deleteTask, taskManagerLogs);
123+
TaskManager.prototype.listTasks = timeLog(TaskManager.prototype.listTasks, taskManagerLogs);
100124

101-
let myTaskManager = new TaskManager();
125+
const myTaskManager = new TaskManager();
102126

103127
myTaskManager.addTask('Juan', 'felicitar a Juan por su cumpleaños');
104128
myTaskManager.addTask('Pan', 'ir a comprar pan');
129+
myTaskManager.addTask('Pan', 'ir a comprar pan');
130+
myTaskManager.listTasks();
131+
myTaskManager.deleteTask('Juan');
105132
myTaskManager.listTasks();
106133
myTaskManager.deleteTask('Juan');
134+
myTaskManager.deleteTask('Pan');
107135
myTaskManager.listTasks();

0 commit comments

Comments
 (0)