spjasper commited on
Commit
b7f41b7
·
1 Parent(s): bf0b09d

version inicial

Browse files
Files changed (2) hide show
  1. app.py +76 -0
  2. requirements.txt +5 -0
app.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ # 1. IMPORTA TU FUNCIÓN DE ANÁLISIS
4
+ # Si tu función está en otro archivo (ej. analisis_logs.py), puedes importarla así:
5
+ # from analisis_logs import analizar_archivo_log
6
+
7
+ # Por simplicidad, la pegaré aquí directamente.
8
+ # --- Pega o define aquí tu función de análisis ---
9
+ def analizar_archivo_log(archivo_log):
10
+ try:
11
+ ruta_del_archivo = archivo_log.name
12
+ contadores = {"ERROR": 0, "WARNING": 0, "INFO": 0, "TOTAL_LINEAS": 0}
13
+ with open(ruta_del_archivo, 'r', encoding='utf-8') as f:
14
+ for linea in f:
15
+ contadores["TOTAL_LINEAS"] += 1
16
+ if "ERROR" in linea:
17
+ contadores["ERROR"] += 1
18
+ elif "WARNING" in linea:
19
+ contadores["WARNING"] += 1
20
+ elif "INFO" in linea:
21
+ contadores["INFO"] += 1
22
+
23
+ resultado = f"""
24
+ ## 📊 Resumen del Análisis de Logs
25
+
26
+ - **Líneas Totales Analizadas:** {contadores['TOTAL_LINEAS']}
27
+ - **Número de Errores (ERROR):** {contadores['ERROR']}
28
+ - **Número de Advertencias (WARNING):** {contadores['WARNING']}
29
+ - **Número de Mensajes de Información (INFO):** {contadores['INFO']}
30
+ """
31
+ return resultado
32
+ except Exception as e:
33
+ return f"Ocurrió un error al procesar el archivo: {e}"
34
+ # --- Fin de la función de análisis ---
35
+
36
+
37
+ # 2. CREA LA INTERFAZ DE GRADIO
38
+ # gr.Interface define la UI. Le decimos:
39
+ # - fn: Qué función ejecutar.
40
+ # - inputs: Qué componentes de UI usar para la entrada.
41
+ # - outputs: Qué componentes de UI usar para la salida.
42
+ # - title/description: Textos para la interfaz.
43
+
44
+ app_interface = gr.Interface(
45
+ fn=analizar_archivo_log,
46
+ inputs=gr.File(label="Sube tu archivo de logs (.log, .txt)", file_types=[".log", ".txt"]),
47
+ outputs=gr.Markdown(label="Resultados del Análisis"),
48
+ title="Analizador de Archivos de Log",
49
+ description="Sube un archivo de log para contar la frecuencia de mensajes de tipo ERROR, WARNING e INFO. La aplicación procesará el archivo y mostrará un resumen."
50
+ )
51
+
52
+ # 3. LANZA LA APLICACIÓN
53
+ # El método .launch() inicia el servidor web.
54
+ if __name__ == "__main__":
55
+
56
+ A
57
+ A
58
+ A
59
+ A
60
+ A
61
+ A
62
+ A
63
+ A
64
+ B
65
+ B
66
+ B
67
+ B
68
+ B
69
+ B
70
+ B
71
+ B
72
+ B
73
+ B
74
+ B
75
+ B
76
+ app_interface.launch()
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ gradio
2
+ # Si usas pandas, añade la línea:
3
+ # pandas
4
+ # Si usas matplotlib para gráficas, añade:
5
+ # matplotlib