Home - macadanedhel/Search-Log-Information GitHub Wiki
Vamos a crear un grafo
Parseo del fichero
Suponiendo que existe la base de datos. El modo de ejecución es igual si existe o no
La información que parsea es log.txt :
./search.logs.v.1.0.py -c -g -f log.txt -l
('Managed error :[1.1]:', OperationalError('table c_NODE already exists',))
('Managed error :[2.1]:', OperationalError('table t_GRAPH already exists',))
('Managed error :[3.1]:', OperationalError('table t_CHANGES already exists',))
[0]
[1] + * + * + * + * j j + * j + * j + * j + *
[2] - - - - - - + * j + * j + * j + *
[3] - - + * + * + *
[4] - - - - - - + * + * + *
[5] - - - - - - + * + * + *
[6] - - - - - - + * + *
[7] - - - - - - - -
[8]
[9]
[10]
[11]
[12]
[13] - - + * + * + * j + * + * + * + * + * + * + * + * j + * + * + * + * + * + * + *
[14] - - - - - - + * + * + * + *
[15] - - - - - - + * - * + * + *
[16] - - - - - - + * j + * - * + *
[17] - - - - - - - - j - - j + * - *
[18] - - - - - - + * + * + *
[19] - - - - - - + * + * + *
[20] - - - - - - + * j + * j + * + * j + * + *
[21] - - - - - - j - - + * + * + * j + * j + * j + * j + * j + *
[22] - - - - - - j + * + * j + * - * + * j + * + *
[23] - - - - - - + * j + * j - * j j + * + *
[24] - - - - - - j + * j j + * j j j + * j j + * + * + * + *
[25] - - - - - - + * + * j + *
[26] - - - - - - + * j + * + * - * j + *
[27] - - - - - - - - - - j - - dentro del log
[28] - - - - - - - - j - - - - - - j - -
[29] - - - - - - + * j + * j + * + * j + * + *
[30] - - - - - - - - j - - j - - + * j - * - -
[31] - - - - - - - - j - - j - - + * j - * - -
[32] - - - - - - + * - * + * j + * j + * + *
[33] - - - - - - + * j + * j + * j + * + * + * j j + * + * + * + * + * + * + *
[34] - - - - - - + *
[35] - - - - - - + * j + *
[36] - - - - - - - - j + * + * j j + *
[37] - - - - - - + *
[38] - - - - - - j + * + * j + * j + *
[39] - - - - - - - - + * + * + * j + * + *
[40] - - - - - - j + * + * j - * j + *
[41] - - - - - - - - - - - - - - j - - - -
[42] - - - - - - j - - - - j - - j - -
[43] - - - - - - j - - + * j - * j - -
[44] - - - - - - j - - + * j - * j - -
[45] - - - - - - j + * j j + * + * + * + *
[46] - - - - - - j + * j + * + * j + * + * + *
[47] - - - - - - - - j - - j + * + * + * j + * j + * j + * + * j + * + *
[48] - - - - - - + * + * + * + *
[49] - - - - - - + * + * j + * j + * + * + * + *
[50] - - - - - - + * + * + * + * j + * + * j j + * + * + * j + * + * j j + * + *

45 Lines with paths
50 Lines read
eof
Vemos cómo actualiza la base de datos, da de alta los nuevos valores, actualiza la información de los nodos. Ha leído 50 líneas y ha cargado 45, eso supone que existe multilínea.
Los J son los valores que salta, las stop words, artículos y cosas así que no aportan valor.
Se podría comprobar el fichero para ver ese típo de multilínea en ejecutando el mismo script con distintas opciones
Del mismo modo se podría comprobar la existencia de información "sensible" [dentro del log] (https://github.com/macadanedhel/Search-Log-Information/wiki/Amenazas-en-el-ejemplo)
Para visualizar la información de este fichero ejecutamos nuevamente
./search.logs.v.1.0.py -vg
En este momento se han creado en ./img/ dos ficheros
- graph.svg
- graph.dot
Con el segundo fichero podemos hacer lo que se nos ocurra tal y como explican el web del producto y con el comando dot. En mi equipo con ristretto se visualiza lo siguiente: 
Para verlo chulo pulsa el link al svg
Posteriormente podemos normalizar el grafo, sabemos que es 4 el factor común. Si se ejecuta la opción se puede ver ...
./search.logs.v.1.0.py -gn -j 4
= = = = = = # + + * + * = = = = = # + + * + * + * = = = = = # + + * = = = # + + * = = = # + + * = = = # + + * = = = = = = = = = = = = = = = = # + + * = = = # + + * = = = # + + * = = = # + + * = = = = # + + * = = = # + + * + = * = = = = = = # + + * = = = # + + * + = * = = = # + + * = = = = = = = # + + * = = = # + + * = = = # + + * + = * = = = = = # + + * = = = = = = = = = = = = = # + + * = = = = # + + * = = = = = = # + + * = = = = = # + + * = = = = = # + + * = = = = = = = = = = # + + * = = = = # + + * = = = = = = = # + + * = = = = = = = = = = = = = # + + *
eof
La transformación queda de la siguiente forma:
Para verlo chulo pulsa el link al svg
Por último ejecutando ./search.logs.v.1.0.py -sg obtenemos el fichero ordenado
¿Y ahora?
Lo primero sacar los campos variables y luego la imaginación...