Skip to content

Commit add747f

Browse files
committed
Reto#25-swift
1 parent 978e1aa commit add747f

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
/*
2+
Logs
3+
Los logs son mensajes que sirven como historial de eventos de nuestra aplicacion en el tiempo
4+
los logs se clasifican en
5+
- debug
6+
- info
7+
- warning
8+
- error
9+
10+
para mas informacion te invito a revisar mi ejercicio blackriper.kt donde explico mas sobre los logs
11+
12+
recursos
13+
14+
documentacion https://www.swift.org/documentation/server/guides/libraries/log-levels.html
15+
package swift log https://github.com/apple/swift-log
16+
17+
*/
18+
19+
import Logging
20+
21+
22+
23+
24+
func exampleWithLogging() {
25+
// declaramos la clase Logger y pasamos el paquete/nombre del archivo
26+
let logger = Logger(label: "blackriper ")
27+
28+
// seguimiento de un evento
29+
logger.trace("Trace message")
30+
// informar sobre alguna prueba
31+
logger.debug("Debug message")
32+
// informar sobre un evento
33+
logger.info("Info message")
34+
// notifcar sobre algo ocurrido
35+
logger.notice("Notice message")
36+
//informar sobre algun evento que eventualmente puede causar un errorº
37+
logger.warning("Warning message")
38+
// informar sobre un error
39+
logger.error("Error message")
40+
// informar sobre un error critico maxima prioridad
41+
logger.critical("Critical message")
42+
43+
}
44+
45+
exampleWithLoggin()
46+
47+
48+
// ejercicio extra
49+
50+
protocol ManagerTask{
51+
func addTask(_ task:Task)->Bool
52+
func removeTask(name:String)->Bool
53+
func completeTask(name:String)->Bool
54+
}
55+
56+
struct Task{
57+
let name :String
58+
let description :String
59+
var done :Bool = false
60+
}
61+
62+
63+
class TaskManager:ManagerTask{
64+
private let logger = Logger(label: "logs ")
65+
var tasks:[Task] = []
66+
67+
func addTask(_ task:Task)->Bool{
68+
tasks.append(task)
69+
logger.notice("Task \(task.name) added")
70+
return true
71+
}
72+
func removeTask(name:String)->Bool{
73+
tasks.removeAll(where: {$0.name == name})
74+
logger.notice("Task \(name) removed")
75+
return true
76+
}
77+
func completeTask(name:String)->Bool{
78+
if var task = tasks.first(where: {$0.name == name}){
79+
task.done = true
80+
logger.info("Task \(name) completed")
81+
return true
82+
}
83+
logger.error("Task \(name) not found")
84+
return false
85+
}
86+
}
87+
88+
let manager = TaskManager()
89+
manager.addTask(Task( name:"Swift Data module",description: "write module swift data"))
90+
manager.addTask(Task(name: "Swift UI module", description: "write module swift ui"))
91+
manager.completeTask(name: "Swift UI module")
92+
manager.completeTask(name: "Kotlin")
93+
94+
95+
96+

0 commit comments

Comments
 (0)