Skip to content

Commit 4a167ab

Browse files
authored
Merge pull request mouredev#4501 from Kenysdev/25.cs
#25 - c#
2 parents 86d98fc + 82723ae commit 4a167ab

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

Roadmap/25 - LOGS/c#/kenysdev.cs

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#pragma warning disable CA1050 // for namespace Name
2+
/*
3+
╔══════════════════════════════════════╗
4+
║ Autor: Kenys Alvarado ║
5+
║ GitHub: https://github.com/Kenysdev ║
6+
║ 2024 - C# ║
7+
╚══════════════════════════════════════╝
8+
------------------------------------------
9+
* LOGS
10+
------------------------------------------
11+
Mas info: https://nlog-project.org/
12+
13+
*/
14+
using NLog;
15+
16+
// __________________________________
17+
class Program {
18+
19+
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
20+
static void Main() {
21+
/*
22+
* EJERCICIO #1:
23+
* Explora el concepto de "logging" en tu lenguaje. Configúralo y muestra
24+
* un ejemplo con cada nivel de "severidad" disponible.
25+
*/
26+
logger.Trace("Trace");
27+
logger.Debug("Debug");
28+
logger.Info("Info");
29+
logger.Warn("Warnin");
30+
logger.Error("Error");
31+
logger.Fatal("Fatal");
32+
33+
//__________________________________
34+
Console.WriteLine("\nEJERCICIO #2");
35+
ProgramTask tasks = new();
36+
37+
tasks.Add("a", "1");
38+
tasks.Add("b", "2");
39+
tasks.Add("c", "3");
40+
41+
tasks.Delete("b");
42+
tasks.ShowList();
43+
}
44+
}
45+
46+
/*
47+
__________________________________
48+
* EJERCICIO #2:
49+
* Crea un programa ficticio de gestión de tareas que permita añadir, eliminar
50+
* y listar dichas tareas.
51+
* - Añadir: recibe nombre y descripción.
52+
* - Eliminar: por nombre de la tarea.
53+
* Implementa diferentes mensajes de log que muestren información según la
54+
* tarea ejecutada (a tu elección).
55+
* Utiliza el log para visualizar el tiempo de ejecución de cada tarea.
56+
*/
57+
class ProgramTask {
58+
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
59+
private readonly Dictionary<string, string> tasks;
60+
61+
public ProgramTask() {
62+
tasks = [];
63+
logger.Debug("Se inició instancia de la clase ProgramTask.");
64+
}
65+
66+
public void Add(string name, string description) {
67+
tasks[name] = description;
68+
logger.Info("Se agregó una tarea.");
69+
}
70+
71+
public void Delete(string name) {
72+
if (tasks.Remove(name)) {
73+
logger.Info($"Tarea '{name}' eliminada.");
74+
} else {
75+
Console.WriteLine();
76+
logger.Warn($"No se encontró la tarea '{name}'.");
77+
}
78+
}
79+
80+
public void ShowList() {
81+
logger.Info("Lista de tareas");
82+
foreach (var task in tasks) {
83+
Console.WriteLine($"{task.Key} -- {task.Value}");
84+
}
85+
}
86+
}

0 commit comments

Comments
 (0)