@@ -11,7 +11,7 @@ const logger = winston.createLogger({
11
11
format : winston . format . combine (
12
12
winston . format . timestamp ( { format : 'DD-MM-YYYY HH:mm:ss' } ) ,
13
13
winston . format . printf ( ( { timestamp, level, message } ) => {
14
- return `${ timestamp } - [${ level . toUpperCase ( ) } ]: ${ message } ` ;
14
+ return `[${ level . toUpperCase ( ) } ] - ${ timestamp } : ${ message } ` ;
15
15
} )
16
16
) ,
17
17
transports : [ new winston . transports . Console ( ) ] ,
@@ -50,58 +50,86 @@ customLevelsLogger.log('Alerta amarilla', 'se muestra en amarillo');
50
50
customLevelsLogger . log ( 'Alerta verde' , 'se muestra en verde' ) ;
51
51
52
52
//EXTRA
53
- const taskManagerLogger = winston . createLogger ( {
53
+ const taskManagerLogs = winston . createLogger ( {
54
54
level : 'debug' ,
55
55
format : winston . format . combine (
56
56
winston . format . timestamp ( { format : 'DD-MM-YYYY HH:mm:ss' } ) ,
57
57
winston . format . printf ( ( { timestamp, level, message } ) => {
58
- return `${ timestamp } - [${ level . toUpperCase ( ) } ]: ${ message } ` ;
58
+ return `[${ level . toUpperCase ( ) } ] - ${ timestamp } : ${ message } ` ;
59
59
} )
60
60
) ,
61
- transports : [ new winston . transports . File ( { filename : 'RicJDev.txt' } ) ] ,
61
+ transports : [ new winston . transports . Console ( ) ] ,
62
62
} ) ;
63
63
64
- function addToTaskManagerLogger ( fun , level , message ) {
65
- taskManagerLogger . log ( level , message ) ;
64
+ function timeLog ( fun , log ) {
66
65
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 ;
68
75
} ;
69
76
}
70
-
71
77
class TaskManager {
72
- taskList = new Map ( ) ;
78
+ # taskList = new Map ( ) ;
73
79
74
80
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
+ }
76
90
}
77
91
78
92
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 } ` ) ;
81
101
}
82
102
}
83
103
84
104
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 ) => {
87
108
console . log ( `- ${ task } : ${ description } ` ) ;
88
109
} ) ;
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 } ` ) ;
89
114
} 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 } ` ) ;
91
117
}
92
118
}
93
119
}
94
120
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 ) ;
100
124
101
- let myTaskManager = new TaskManager ( ) ;
125
+ const myTaskManager = new TaskManager ( ) ;
102
126
103
127
myTaskManager . addTask ( 'Juan' , 'felicitar a Juan por su cumpleaños' ) ;
104
128
myTaskManager . addTask ( 'Pan' , 'ir a comprar pan' ) ;
129
+ myTaskManager . addTask ( 'Pan' , 'ir a comprar pan' ) ;
130
+ myTaskManager . listTasks ( ) ;
131
+ myTaskManager . deleteTask ( 'Juan' ) ;
105
132
myTaskManager . listTasks ( ) ;
106
133
myTaskManager . deleteTask ( 'Juan' ) ;
134
+ myTaskManager . deleteTask ( 'Pan' ) ;
107
135
myTaskManager . listTasks ( ) ;
0 commit comments