superlog


Namesuperlog JSON
Version 1.4.2 PyPI version JSON
download
home_pagehttps://github.com/retmago/superlog.git
SummaryLibreria para mostrar mayor cantidad de informacion en los logs de manera facil y poder ser usados en new relic
upload_time2023-01-24 21:13:43
maintainer
docs_urlNone
authorjsilva95
requires_python
licenseLGPL v3
keywords log newrelic metadata
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Super Log
### Funcion
    Enriquece la informacion de los logs para nuestro procesos python,
    los mensajes vienen en formato json para poder ser usados
    por cualquier software de captura de logs, ejemplo: New Relic.
## Pasos
### Intalar librerira
    pip install superlog
### Importar la librerira:
    from superlog.log import SuperLog
### Agregar identificador de proyecto e instanciar la clase
    log = SuperLog(app_name="my_app")
    # si se desea agregar color para las ejecuciones locales puede usar la siguiente opcioĆ³n
    log = SuperLog(app_name="my_app", colors = True)
### Metodo decorador - tiempo de ejecucion por funcion:
    @log.time_func_analyze
    def mi_funcion():
        print("inicio")
        ...
        time.sleep(1)
        return True

    ## Tiempo de ejecucion de una funcion
    mi_funcion()

    # ejemplo de salida
    {"level":"INFO","timestamp":"2022-05-06 13:27:27,981","app":"my_app","log":{"total": 1.01, "function": "main"}}

### Metodo decorador - tiempo total:
    @log.time_func_analyze(total_execution=True)
    def funcion_principal():
        print("inicio")
        ...
        time.sleep(1)
        return True

    ## Tiempo de ejecucion de una funcion
    funcion_principal()

    ## ejemplo de salida
    {"level":"INFO","timestamp":"2022-05-06 13:31:35,701","app":"my_app","log":{"total_execution": 1.0}}
        
### Manejo de mensajes y errores automaticos:
    ## mensaje normal
    log.print("hola mundo")
    
    ## ejemplo de salida
    {"level":"INFO","timestamp":"2022-05-06 13:35:00,091","app":"my_app","log":{"message": "Hola Mundo", "execution": 0.01, "function": "main"}}

    ## mensaje error
    ## automaticamente superlog detecta los erres de los try y except e imprime toda la informacion correspondiente
    ## ejemplo:

    try:
        variable_no_existe
    except:
        log.print("Ocurrio un error")

    ##ejemplo salida
    {"level":"ERROR","timestamp":"2022-05-06 13:37:48,257","app":"my_app","log":{"message": "Ocurrio un error", "execution": 0.01, "file": "/ruta/archivo.py", "line": "130", "function": "main", "statement": "['variable_no_existe\n']", "error": "<class 'NameError'>", "text": "name 'variable_no_existe' is not defined", "manual": false}}

### Manejo de errores manuales:
    ## En caso de querer querer usar errores de manera manual 
    ## sin la necesidad de usar try y execpt, se puede realizar de la 
    ## siguiente manera
 
    def main():
        log.error("Hola mundo error")

    main()
    
    ## ejemplo de salida
    {"level":"ERROR","timestamp":"2022-05-06 13:40:50,094","app":"my_app","log":{"message": "Hola mundo error", "execution": 0.01, "function": "main", "manual": true}}



### Manejo de warnings manuales:
 
    def main():
        log.warning("Hola mundo warning")

    main()
    
    ## ejemplo de salida
    {"level":"WARNING","timestamp":"2022-05-06 13:40:50,094","app":"my_app","log":{"message": "Hola mundo warning", "execution": 0.01, "function": "main", "manual": true}}




### Manejo de info manuales:
 
    def main():
        log.info("Hola mundo info")

    main()
    
    ## ejemplo de salida
    {"level":"INFO","timestamp":"2022-05-06 13:40:50,094","app":"my_app","log":{"message": "Hola mundo info", "execution": 0.01, "function": "main", "manual": true}}
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/retmago/superlog.git",
    "name": "superlog",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "log newrelic metadata",
    "author": "jsilva95",
    "author_email": "jsilva2018.95@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7e/0b/de9172b01abcc016d2f0a0fd95993cb84e35de729f503396b4bf2ab11f82/superlog-1.4.2.tar.gz",
    "platform": null,
    "description": "# Super Log\n### Funcion\n    Enriquece la informacion de los logs para nuestro procesos python,\n    los mensajes vienen en formato json para poder ser usados\n    por cualquier software de captura de logs, ejemplo: New Relic.\n## Pasos\n### Intalar librerira\n    pip install superlog\n### Importar la librerira:\n    from superlog.log import SuperLog\n### Agregar identificador de proyecto e instanciar la clase\n    log = SuperLog(app_name=\"my_app\")\n    # si se desea agregar color para las ejecuciones locales puede usar la siguiente opcio\u00f3n\n    log = SuperLog(app_name=\"my_app\", colors = True)\n### Metodo decorador - tiempo de ejecucion por funcion:\n    @log.time_func_analyze\n    def mi_funcion():\n        print(\"inicio\")\n        ...\n        time.sleep(1)\n        return True\n\n    ## Tiempo de ejecucion de una funcion\n    mi_funcion()\n\n    # ejemplo de salida\n    {\"level\":\"INFO\",\"timestamp\":\"2022-05-06 13:27:27,981\",\"app\":\"my_app\",\"log\":{\"total\": 1.01, \"function\": \"main\"}}\n\n### Metodo decorador - tiempo total:\n    @log.time_func_analyze(total_execution=True)\n    def funcion_principal():\n        print(\"inicio\")\n        ...\n        time.sleep(1)\n        return True\n\n    ## Tiempo de ejecucion de una funcion\n    funcion_principal()\n\n    ## ejemplo de salida\n    {\"level\":\"INFO\",\"timestamp\":\"2022-05-06 13:31:35,701\",\"app\":\"my_app\",\"log\":{\"total_execution\": 1.0}}\n        \n### Manejo de mensajes y errores automaticos:\n    ## mensaje normal\n    log.print(\"hola mundo\")\n    \n    ## ejemplo de salida\n    {\"level\":\"INFO\",\"timestamp\":\"2022-05-06 13:35:00,091\",\"app\":\"my_app\",\"log\":{\"message\": \"Hola Mundo\", \"execution\": 0.01, \"function\": \"main\"}}\n\n    ## mensaje error\n    ## automaticamente superlog detecta los erres de los try y except e imprime toda la informacion correspondiente\n    ## ejemplo:\n\n    try:\n        variable_no_existe\n    except:\n        log.print(\"Ocurrio un error\")\n\n    ##ejemplo salida\n    {\"level\":\"ERROR\",\"timestamp\":\"2022-05-06 13:37:48,257\",\"app\":\"my_app\",\"log\":{\"message\": \"Ocurrio un error\", \"execution\": 0.01, \"file\": \"/ruta/archivo.py\", \"line\": \"130\", \"function\": \"main\", \"statement\": \"['variable_no_existe\\n']\", \"error\": \"<class 'NameError'>\", \"text\": \"name 'variable_no_existe' is not defined\", \"manual\": false}}\n\n### Manejo de errores manuales:\n    ## En caso de querer querer usar errores de manera manual \n    ## sin la necesidad de usar try y execpt, se puede realizar de la \n    ## siguiente manera\n \n    def main():\n        log.error(\"Hola mundo error\")\n\n    main()\n    \n    ## ejemplo de salida\n    {\"level\":\"ERROR\",\"timestamp\":\"2022-05-06 13:40:50,094\",\"app\":\"my_app\",\"log\":{\"message\": \"Hola mundo error\", \"execution\": 0.01, \"function\": \"main\", \"manual\": true}}\n\n\n\n### Manejo de warnings manuales:\n \n    def main():\n        log.warning(\"Hola mundo warning\")\n\n    main()\n    \n    ## ejemplo de salida\n    {\"level\":\"WARNING\",\"timestamp\":\"2022-05-06 13:40:50,094\",\"app\":\"my_app\",\"log\":{\"message\": \"Hola mundo warning\", \"execution\": 0.01, \"function\": \"main\", \"manual\": true}}\n\n\n\n\n### Manejo de info manuales:\n \n    def main():\n        log.info(\"Hola mundo info\")\n\n    main()\n    \n    ## ejemplo de salida\n    {\"level\":\"INFO\",\"timestamp\":\"2022-05-06 13:40:50,094\",\"app\":\"my_app\",\"log\":{\"message\": \"Hola mundo info\", \"execution\": 0.01, \"function\": \"main\", \"manual\": true}}",
    "bugtrack_url": null,
    "license": "LGPL v3",
    "summary": "Libreria para mostrar mayor cantidad de informacion en los logs de manera facil y poder ser usados en new relic",
    "version": "1.4.2",
    "split_keywords": [
        "log",
        "newrelic",
        "metadata"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e0bde9172b01abcc016d2f0a0fd95993cb84e35de729f503396b4bf2ab11f82",
                "md5": "daea3b8b0324ba783308dd999b257c6a",
                "sha256": "e6cda72f87806a2e3993815fa674a2443a1d530ecf8132c59fd4c5cc7b9c73bc"
            },
            "downloads": -1,
            "filename": "superlog-1.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "daea3b8b0324ba783308dd999b257c6a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 5505,
            "upload_time": "2023-01-24T21:13:43",
            "upload_time_iso_8601": "2023-01-24T21:13:43.411884Z",
            "url": "https://files.pythonhosted.org/packages/7e/0b/de9172b01abcc016d2f0a0fd95993cb84e35de729f503396b4bf2ab11f82/superlog-1.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-24 21:13:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "retmago",
    "github_project": "superlog.git",
    "lcname": "superlog"
}
        
Elapsed time: 0.04186s