Skip to content

Commit 001fa4d

Browse files
authored
Merge pull request mouredev#4512 from Kenysdev/25.vb
#25 - vb.net
2 parents 68e6c9a + 4c760bd commit 001fa4d

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

Roadmap/25 - LOGS/vb.net/kenysdev.vb

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
' ╔══════════════════════════════════════╗
2+
' ║ Autor: Kenys Alvarado              ║
3+
' ║ GitHub: https://github.com/Kenysdev  ║
4+
' ║ 2024 - VB.NET                       ║
5+
' ╚══════════════════════════════════════╝
6+
'-----------------------------------------------
7+
'* LOGS
8+
'-----------------------------------------------
9+
'Mas info: https://nlog-project.org/
10+
11+
Imports NLog
12+
Imports NLog.Config
13+
Imports NLog.Targets
14+
15+
Module Program
16+
17+
Private Logger As Logger = LogManager.GetCurrentClassLogger()
18+
19+
Sub Main()
20+
'* EJERCICIO #1:
21+
'* Explora el concepto de "logging" en tu lenguaje. Configúralo y muestra
22+
'* un ejemplo con cada nivel de "severidad" disponible.
23+
24+
' Configuración manual
25+
Dim config As New LoggingConfiguration()
26+
27+
' Definir el destino del log)
28+
Dim consoleTarget As New ConsoleTarget("console")
29+
config.AddTarget("console", consoleTarget)
30+
31+
' Definir las reglas de log
32+
config.AddRuleForAllLevels(consoleTarget)
33+
34+
' Aplicar la configuración
35+
LogManager.Configuration = config
36+
37+
' Ejemplo de uso:
38+
Logger.Trace("msg Trace")
39+
Logger.Debug("msg Debug")
40+
Logger.Info("msg Info")
41+
Logger.Warn("msg Warn")
42+
Logger.Error("msg Error")
43+
Logger.Fatal("msg Fatal")
44+
45+
'_________________________________________________
46+
Console.WriteLine(vbLf & "EJERCICIO #2")
47+
Dim tasks As New ProgramTask()
48+
49+
tasks.Add("a", "1")
50+
tasks.Add("b", "2")
51+
tasks.Add("c", "3")
52+
53+
tasks.Delete("b")
54+
tasks.ShowList()
55+
56+
End Sub
57+
58+
'-----------------------------------------------
59+
'* EJERCICIO #2
60+
'* Crea un programa ficticio de gestión de tareas que permita añadir, eliminar
61+
'* y listar dichas tareas.
62+
'* - Añadir: recibe nombre y descripción.
63+
'* - Eliminar: por nombre de la tarea.
64+
'* Implementa diferentes mensajes de log que muestren información según la
65+
'* tarea ejecutada (a tu elección).
66+
'* Utiliza el log para visualizar el tiempo de ejecución de cada tarea.
67+
68+
Public Class ProgramTask
69+
Private Shared ReadOnly logger As Logger = LogManager.GetCurrentClassLogger()
70+
Private ReadOnly tasks As Dictionary(Of String, String)
71+
72+
Public Sub New()
73+
tasks = New Dictionary(Of String, String)()
74+
logger.Debug("Se inició instancia de la clase ProgramTask.")
75+
End Sub
76+
77+
Public Sub Add(name As String, description As String)
78+
tasks(name) = description
79+
logger.Info("Se agregó una tarea.")
80+
End Sub
81+
82+
Public Sub Delete(name As String)
83+
If tasks.Remove(name) Then
84+
logger.Info($"Tarea '{name}' eliminada.")
85+
Else
86+
Console.WriteLine()
87+
logger.Warn($"No se encontró la tarea '{name}'.")
88+
End If
89+
End Sub
90+
91+
Public Sub ShowList()
92+
logger.Info("Lista de tareas")
93+
For Each task In tasks
94+
Console.WriteLine($"{task.Key} -- {task.Value}")
95+
Next
96+
End Sub
97+
End Class
98+
End Module

0 commit comments

Comments
 (0)