Skip to content

Commit 1639bc6

Browse files
authored
#25 - Python
manejo de logs
1 parent c32693a commit 1639bc6

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
"""
2+
*
3+
* EJERCICIO:
4+
* Explora el concepto de "logging" en tu lenguaje. Configúralo y muestra
5+
* un ejemplo con cada nivel de "severidad" disponible.
6+
*
7+
* DIFICULTAD EXTRA (opcional):
8+
* Crea un programa ficticio de gestión de tareas que permita añadir, eliminar
9+
* y listar dichas tareas.
10+
* - Añadir: recibe nombre y descripción.
11+
* - Eliminar: por nombre de la tarea.
12+
* Implementa diferentes mensajes de log que muestren información según la
13+
* tarea ejecutada (a tu elección).
14+
* Utiliza el log para visualizar el tiempo de ejecución de cada tarea.
15+
*/
16+
"""
17+
import logging
18+
import random
19+
20+
logging.basicConfig(format="%(process)d %(levelname)s %(message)s", level=logging.DEBUG)
21+
logging.debug("esto es una depuracion")
22+
logging.info("esto es una confirmacion")
23+
logging.warning("esto es una advertencia")
24+
logging.error("esto es un mensaje de error")
25+
logging.critical("esto es un mensaje critico")
26+
27+
#Extra
28+
29+
class GestionTareas:
30+
def __init__(self):
31+
self.tareas = {}
32+
33+
34+
35+
def agg_tarea(self):
36+
name = input("Introduzca nombre: ")
37+
description = input("Introduzca breve descripcion de la tarea: ")
38+
if name in self.tareas:
39+
logging.error("La tarea ya existe")
40+
execution_time = random.randint(1,5)
41+
self.tareas[name]= {
42+
"description":description,
43+
"execution_time":execution_time}
44+
logging.info("tarea agregada")
45+
46+
def list_tareas(self):
47+
if not self.tareas:
48+
logging.error("La tarea no existe")
49+
for name, description in self.tareas.items():
50+
logging.info(f"nombre de la tarea: {name}")
51+
logging.info(f"Descripcion: {description['description']}")
52+
logging.info(f"Tiempo de ejecucion: {description['execution_time']} segundos")
53+
54+
def del_tareas(self):
55+
name = input("Introduzca nombre: ")
56+
if name not in self.tareas:
57+
logging.error("La tarea no existe")
58+
else:
59+
del self.tareas[name]
60+
logging.info(f"la tarea {name} fue eliminada")
61+
62+
63+
64+
task = GestionTareas()
65+
while True:
66+
print("--------->Gestor de Tareas<------------------")
67+
print("---->Elija una de las siguientes opciones<---")
68+
print("1. Agregar: ")
69+
print("2. Listar: ")
70+
print("3. Eliminar: ")
71+
print("4. Salir: ")
72+
73+
option = int(input("Seleccione una opcion: "))
74+
75+
if option == 1:
76+
task.agg_tarea()
77+
elif option == 2:
78+
task.list_tareas()
79+
elif option == 3:
80+
task.del_tareas()
81+
elif option == 4:
82+
print("Has elegido salir del programa, Hasta luego")
83+
break
84+
else:
85+
print("elija una de las opciones indicadas")

0 commit comments

Comments
 (0)