|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="es"> |
| 3 | + |
| 4 | +<head> |
| 5 | + <meta charset="UTF-8"> |
| 6 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | + <!-- Primary Meta Tags --> |
| 8 | + <title>CHROMOLOGGER | Módulo de python CHROMOLOGGER para gestionar registros de ejecución</title> |
| 9 | + <meta name="title" content="CHROMOLOGGER | Módulo de python CHROMOLOGGER para gestionar registros de ejecución" /> |
| 10 | + <meta name="description" content="Almacene los registros de ejecución en un archivo (.log, .txt, ...), permite guardar registros de `Excepciones` detalladas al igual que información de la ejecución, ¡Usted decide que almacenar!" /> |
| 11 | + |
| 12 | + <!-- Open Graph / Facebook --> |
| 13 | + <meta property="og:type" content="website" /> |
| 14 | + <meta property="og:url" content="https://tutosrive.github.io/chromologger/" /> |
| 15 | + <meta property="og:title" content="CHROMOLOGGER | Módulo de python CHROMOLOGGER para gestionar registros de ejecución" /> |
| 16 | + <meta property="og:description" content="Almacene los registros de ejecución en un archivo (.log, .txt, ...), permite guardar registros de `Excepciones` detalladas al igual que información de la ejecución, ¡Usted decide que almacenar!"" /> |
| 17 | + <meta property="og:image" content="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@main/modules/chromologger-webpage.png" /> |
| 18 | + |
| 19 | + <!-- Twitter --> |
| 20 | + <meta property="twitter:card" content="summary_large_image" /> |
| 21 | + <meta property="twitter:url" content="https://tutosrive.github.io/chromologger/" /> |
| 22 | + <meta property="twitter:title" content="CHROMOLOGGER | Módulo de python CHROMOLOGGER para gestionar registros de ejecución" /> |
| 23 | + <meta property="twitter:description" content="Almacene los registros de ejecución en un archivo (.log, .txt, ...), permite guardar registros de `Excepciones` detalladas al igual que información de la ejecución, ¡Usted decide que almacenar!"" /> |
| 24 | + <meta property="twitter:image" content="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@main/modules/chromologger-webpage.png" /> |
| 25 | + |
| 26 | + <link rel="shortcut icon" |
| 27 | + href="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@refs/heads/main/modules/chronolog_logo.webp" |
| 28 | + type="image/x-icon"> |
| 29 | + <link rel="stylesheet" |
| 30 | + href="https://cdn.jsdelivr.net/gh/Microsoft/vscode/extensions/markdown-language-features/media/markdown.css"> |
| 31 | + <link rel="stylesheet" |
| 32 | + href="https://cdn.jsdelivr.net/gh/Microsoft/vscode/extensions/markdown-language-features/media/highlight.css"> |
| 33 | + <link rel="stylesheet" |
| 34 | + href="https://cdn.jsdelivr.net/gh/tutosrive/legendary-guacamole@main/css/modules_python_docs/style-v1.0.1.css"> |
| 35 | + <!-- Google tag (gtag.js) --> |
| 36 | + <script async src="https://www.googletagmanager.com/gtag/js?id=G-916M88YN28"></script> |
| 37 | + <script> |
| 38 | + window.dataLayer = window.dataLayer || []; |
| 39 | + function gtag() { dataLayer.push(arguments); } |
| 40 | + gtag('js', new Date()); |
| 41 | + |
| 42 | + gtag('config', 'G-916M88YN28'); |
| 43 | + </script> |
| 44 | +</head> |
| 45 | + |
| 46 | +<body class="vscode-body vscode-dark"> |
| 47 | + <header> |
| 48 | + <div class="ctn-img-nav"> |
| 49 | + <a href="https://www.youtube.com/@tutosrive" target="_blank"> |
| 50 | + <img title="@tutosrive Youtube" class="img-nav" |
| 51 | + src="https://raw.githubusercontent.com/tutosrive/images-projects-srm-trg/main/svg-icons-flags-cursor/icon/youtube.svg" |
| 52 | + alt="Logo youtube"> |
| 53 | + </a> |
| 54 | + <a href="https://github.com/tutosrive" target="_blank"><img class="img-nav" title="Author" |
| 55 | + src="https://avatars.githubusercontent.com/u/108991712?s=400&u=8635c5a4bf3ba434df23aa5b611cae237a964932&v=4" |
| 56 | + alt="Autor chromologger - Santiago Rivera Marin"></a> |
| 57 | + </div> |
| 58 | + <h1 class="title-header" title="chromologger project, Github"><a target="_blank" |
| 59 | + href="https://github.com/tutosrive/chromologger/">CHROMOLOGGER</a></h1> |
| 60 | + <a href="https://pypi.org/project/chromologger/" target="_blank"><img class="img-nav img-repo-module" |
| 61 | + title="Package python. Pip install" |
| 62 | + src="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@refs/heads/main/modules/chronolog_logo.webp" |
| 63 | + alt="Logo del proyecto 'ChromaLog'"></a> |
| 64 | + </header> |
| 65 | + <div style="display: flex; align-items: center; justify-content: center; margin: 10px 0; gap: 10px; max-height: 48px; height: 48px;"> |
| 66 | + <a href="https://github.com/sponsors/tutosrive" target="_blank"> |
| 67 | + <img src="https://img.shields.io/badge/Sponsor-%F0%9F%92%96%20tutosrive-orange?style=for-the-badge&logo=github" alt="Sponsor me on GitHub"> |
| 68 | +</a> |
| 69 | + <a href="https://www.buymeacoffee.com/tutosrive"> |
| 70 | + <img |
| 71 | + src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=☕&slug=tutosrive&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff" |
| 72 | + style="height: 48px; width: auto; object-fit: contain; border-radius: 6px;" |
| 73 | + alt="Buy me a coffee button"> |
| 74 | + </a> |
| 75 | +</div> |
| 76 | + <!-- Badges --> |
| 77 | + <div> |
| 78 | +<!-- Total downloads --> |
| 79 | + <a href="https://pepy.tech/projects/chromologger"><img src="https://static.pepy.tech/badge/chromologger" alt="PyPI Downloads"></a> |
| 80 | +<!-- Versión actual --> |
| 81 | + <a href="https://pypi.org/project/chromologger/"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/chromologger?label=chromologger"></a> |
| 82 | +<!-- Python versions supported --> |
| 83 | + <a href="https://python.org/"><img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/chromologger"></a> |
| 84 | +<!-- Author --> |
| 85 | + <a href="https://github.com/tutosrive"><img alt="Static Badge" src="https://img.shields.io/badge/Tutos%20Rive-Author-brightgreen"></a> |
| 86 | +<!-- Licencia --> |
| 87 | + <a href="https://raw.githubusercontent.com/tutosrive/chromologger/main/LICENSE"><img alt="GitHub License" src="https://img.shields.io/github/license/tutosrive/chromologger"></a> |
| 88 | + </div> |
| 89 | + <p>"<strong>Chromologger</strong>" es un módulo diseñado para facilitar la creación de registros |
| 90 | + (<em>logs</em>) en aplicaciones desarrolladas con <strong>Python</strong>. Proporciona una manera sencilla y |
| 91 | + estructurada de <em>documentar eventos</em>, <span class="spn-red">errores</span> y actividades en los programas, |
| 92 | + mejorando la capacidad de |
| 93 | + monitoreo y |
| 94 | + depuración del código. |
| 95 | + |
| 96 | + <pre>Requerimientos: |
| 97 | +- <span class="spn-blue">chromolog>=0.2.0</span> |
| 98 | +- <span class="spn-green"># pip install chromolog</span> |
| 99 | +- <span class="spn-green"># Esto instalará la versión más reciente (v0.2.4)</span></pre> |
| 100 | + |
| 101 | + <h3> |
| 102 | + <p>Ejemplo de registro: En una línea</p> |
| 103 | + </h3> |
| 104 | + <pre><span class="spn-green">2025-01-06 19:52:08.636560</span> - <span class="spn-blue">Exception</span>: <span class="spn-red">FileNotFoundError</span> - <span class="spn-blue">File</span>: <span class="spn-yellow">c:\Users\srm\Desktop\msqlite\msqlite\__logger.py</span> - <span class="spn-blue">ErrorLine</span>: 35 - <span class="spn-yellow">Messsage</span>: <span class="spn-red">[Errno 2]</span> <span class="spn-red">No such file or directory</span>: <span class="spn-yellow">'./data/log'</span> |
| 105 | +</pre> |
| 106 | + <p>Para empezar a usar, iniciaría con una instancia de la <em>clase</em> <strong>Logger</strong>, la cual toma como |
| 107 | + argumentos el siguiente parámetro:</p> |
| 108 | + <ul class="f-ul"> |
| 109 | + <li><code>name:str</code>: Nombre del archivo en el cual se guardarán los registros (Ej: <code>'log.log'</code>). |
| 110 | + </li> |
| 111 | + </ul> |
| 112 | + <blockquote> |
| 113 | + <p>NOTA: Es necesario que el directorio donde se guardará el archivo esté creado, ÚNICAMENTE el |
| 114 | + <strong>directorio</strong>, el archivo se creará dentro de automáticamente... |
| 115 | + </p> |
| 116 | + </blockquote> |
| 117 | + <pre><code class="language-py"><span class="hljs-comment"># Ejemplo de inicialización</span> |
| 118 | +<span class="hljs-keyword">from</span> chromologger <span class="hljs-keyword">import</span> Logger |
| 119 | + |
| 120 | +<span class="hljs-comment"># Teniendo creado el directorio "data"</span> |
| 121 | +log = Logger(<span class="hljs-string">'./data/log.log'</span>) |
| 122 | +<span class="hljs-comment"># Creará un archivo log.log listo para usar...</span> |
| 123 | +</code></pre> |
| 124 | + <h2 id="métodos-públicos-disponibles">Métodos públicos disponibles:</h2> |
| 125 | + <ul class="f-ul"> |
| 126 | + <li><strong>log</strong>: Permite guardar mensajes <strong>generales</strong> en el registro, es decir, <strong>NO |
| 127 | + ERRORES</strong>, mensajes de información <em>ordinaria</em> (general). |
| 128 | + <ul> |
| 129 | + <li><strong>Parámetros</strong>: |
| 130 | + <ul> |
| 131 | + <li><code>msg:any</code>: Mensaje que se registrará en el archivo.</li> |
| 132 | + </ul> |
| 133 | + </li> |
| 134 | + </ul> |
| 135 | + </li> |
| 136 | + </ul> |
| 137 | + <pre><code class="language-py"><span class="hljs-comment"># Mensaje general (no error)</span> |
| 138 | +log.log(<span class="hljs-string">'Ejecución finalizada sin errores'</span>) |
| 139 | +</code></pre> |
| 140 | + <p><strong>Dentro del archivo de registro (log.log)</strong>:</p> |
| 141 | + <pre><span class="spn-green">2025-01-06 19:52:08.636560</span> - <span class="spn-yellow">Ejecución finalizada sin errores</span> |
| 142 | +</pre> |
| 143 | + <ul class="f-ul"> |
| 144 | + <li><strong>log_e</strong>: Permite registrar errores, es un registro más específico )Toma registros <strong>Exception</strong>(. |
| 145 | + <ul> |
| 146 | + <li><strong>Parámetros</strong>: |
| 147 | + <ul> |
| 148 | + <li><code>e:Exception</code>: Únicamente se permiten <strong>excepciones</strong>, porque dentro del |
| 149 | + módulo |
| 150 | + se trabaja con el objeto <strong>Exception</strong>.</li> |
| 151 | + </ul> |
| 152 | + </li> |
| 153 | + </ul> |
| 154 | + </li> |
| 155 | + </ul> |
| 156 | + |
| 157 | + |
| 158 | + <pre><code class="language-python"><span class="hljs-comment"><span class="hljs-number">5</span> # En un bloque try</span> |
| 159 | +<span class="hljs-number">6</span> <span class="hljs-keyword">try</span>: |
| 160 | +<span class="hljs-number">7</span> <span class="hljs-comment"># Soy literalmente un error</span> |
| 161 | +<span class="hljs-number">8</span> tutosrivegamer |
| 162 | +<span class="hljs-number">9</span> <span class="hljs-keyword">except</span> Exception <span class="hljs-keyword">as</span> e: |
| 163 | +<span class="hljs-number">10</span> log.log_e(e) |
| 164 | +</code></pre> |
| 165 | + |
| 166 | + <p><strong>Dentro del archivo de registro (log.log)</strong>:</p> |
| 167 | + <pre><span class="spn-green">2025-01-06 20:21:30.744693</span> - <span class="spn-blue">Exception</span>: <span class="spn-red">NameError</span> - <span class="spn-blue">File</span>: <span class="spn-yellow">c:\Users\srm\Desktop\msqlite\test.py</span> - <span class="spn-blue">ErrorLine</span>: 8 - <span class="spn-yellow">Messsage</span>: <span class="spn-yellow">name 'tutosrivegamer' is not defined</span> |
| 168 | +</pre> |
| 169 | + <h3 id="métodos-privados-">Métodos privados 🔏</h3> |
| 170 | + <ul class="f-ul"> |
| 171 | + <li><strong>__write</strong>: Escribe los mensages en el archivo cargado</li> |
| 172 | + <li><strong>__date</strong>: Obtiene la fecha actual</li> |
| 173 | + <li><strong>__log</strong>: Toma registro de errores internos, guarda los registros en el archivo |
| 174 | + "./log.log" (En el directorio raíz del módulo)</li> |
| 175 | + </ul> |
| 176 | + <pre><code># Solo de uso interno |
| 177 | +</code></pre> |
| 178 | + <footer style="text-align: center; margin: 10px auto; position: fixed; bottom: 0; left: 0; right: 0;"> |
| 179 | + <span>© Tutos Rive 2025 - chromologger - Proyecto de código abierto bajo licencia MIT</span> |
| 180 | + <a href="https://github.com/tutosrive" target="_blank"> |
| 181 | + <svg height="32" fill="white" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32"> |
| 182 | + <path |
| 183 | + d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z" |
| 184 | + ></path> |
| 185 | + </svg> |
| 186 | + </a> |
| 187 | + </footer> |
| 188 | + </footer> |
| 189 | +</body> |
| 190 | + |
| 191 | +</html> |
0 commit comments