# **Frexco PyLogger**
## Install
___
```bash
pip install frexco_pylogger
```
## Configure
___
```python
# main.py
from frexco_pylogger.functions import PyLogger
logger = PyLogger(appname="my_app")
logger.http(message="Uma mensagem http qualquer", status_code=200, data={"name": "Um nome qualquer", "age": 22})
```
> 2022-09-02 14:05:59 | [HTTP ] | Uma mensagem http qualquer | [STATUSCODE 200] | {'name': 'Um nome qualquer', 'age': 22}
## Log Types
___
| Tipo | Description |
|-----------|--------------------------------------------------------------------|
| `error` | Informar sobre exceptions tratadas |
| `warning` | Informar eventos ou estados potencialmente prejudicias ao programa |
| `debug` | Acompanhar eventos ou estados do programa |
| `info` | Descrever infos detalhadas sobre o estado do programa |
| `http` | Informar dados de requests e responses feitas via http |
## Middlewares
___
### django
```python
# httpLogger.py
from frexco_pylogger.functions import PyLogger
from django.utils.deprecation import MiddlewareMixin
class HTTPLoggerMiddleware(MiddlewareMixin):
def process_response(self, request, response):
logger = PyLogger(appname="my_django_app")
logger.http(message=f'{request.META.get("REMOTE_ADDR")} {request.method} {request.META.get("PATH_INFO")}',
status_code=response.status_code)
return response
```
```python
# setting.py
MIDDLEWARE = [
...,
'app.utils.httpLogger.HTTPLoggerMiddleware' # path to your middleware file
]
```
### Flask
```python
# Your app setup file
from flask import Flask, request, Response
from frexco_pylogger.functions import PyLogger
app = Flask(__name__)
logger = PyLogger(appname="my_flask_app")
@app.after_request
def log_response(response: Response):
logger.http(message=f'{request.remote_addr} {request.method} {request.path}',
status_code=response.status_code)
return response
```
## Alert
```python
# Seu arquivo de configuração de logger
from frexco_pylogger.functions import PyLogger
logger = PyLogger(appname="my_app_name", group="nome_do_grupo") # Ex: group="warehouse", Ex: group="consumer"
logger.error(message="Uma messagem de error qualquer",
status_code=500, data={"name": "Um error"}) # Enviar alerta
logger.error(message="Uma messagem de error qualquer repetida",
status_code=500, data={"name": "Um error"}, alert=False) # Não enviar alerta
```
Raw data
{
"_id": null,
"home_page": "https://github.com/frexco-digital/frexco-pylogger.git",
"name": "frexco-pylogger",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "logs logging logger",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ce/c4/f7230c3d96a26e4d106c3c48d6d5b609b4313f76e4a7125d219c6d80e1b7/frexco_pylogger-0.2.5.tar.gz",
"platform": null,
"description": "# **Frexco PyLogger**\n\n## Install\n\n___\n\n```bash\npip install frexco_pylogger\n```\n\n## Configure\n\n___\n\n```python\n# main.py\nfrom frexco_pylogger.functions import PyLogger\n\nlogger = PyLogger(appname=\"my_app\")\nlogger.http(message=\"Uma mensagem http qualquer\", status_code=200, data={\"name\": \"Um nome qualquer\", \"age\": 22})\n```\n\n> 2022-09-02 14:05:59 | [HTTP ] | Uma mensagem http qualquer | [STATUSCODE 200] | {'name': 'Um nome qualquer', 'age': 22}\n\n## Log Types\n\n___\n\n| Tipo | Description |\n|-----------|--------------------------------------------------------------------|\n| `error` | Informar sobre exceptions tratadas |\n| `warning` | Informar eventos ou estados potencialmente prejudicias ao programa |\n| `debug` | Acompanhar eventos ou estados do programa |\n| `info` | Descrever infos detalhadas sobre o estado do programa |\n| `http` | Informar dados de requests e responses feitas via http |\n\n## Middlewares\n\n___\n\n### django\n\n```python\n# httpLogger.py\nfrom frexco_pylogger.functions import PyLogger\nfrom django.utils.deprecation import MiddlewareMixin\n\n\nclass HTTPLoggerMiddleware(MiddlewareMixin):\n\n def process_response(self, request, response):\n logger = PyLogger(appname=\"my_django_app\")\n logger.http(message=f'{request.META.get(\"REMOTE_ADDR\")} {request.method} {request.META.get(\"PATH_INFO\")}',\n status_code=response.status_code)\n\n return response\n```\n\n```python\n# setting.py\n\nMIDDLEWARE = [\n ...,\n 'app.utils.httpLogger.HTTPLoggerMiddleware' # path to your middleware file\n]\n\n```\n\n### Flask\n\n```python\n# Your app setup file\nfrom flask import Flask, request, Response\nfrom frexco_pylogger.functions import PyLogger\n\napp = Flask(__name__)\nlogger = PyLogger(appname=\"my_flask_app\")\n\n@app.after_request\ndef log_response(response: Response):\n logger.http(message=f'{request.remote_addr} {request.method} {request.path}',\n status_code=response.status_code)\n return response\n\n```\n\n## Alert\n\n```python\n# Seu arquivo de configura\u00e7\u00e3o de logger\nfrom frexco_pylogger.functions import PyLogger\n\nlogger = PyLogger(appname=\"my_app_name\", group=\"nome_do_grupo\") # Ex: group=\"warehouse\", Ex: group=\"consumer\"\n\nlogger.error(message=\"Uma messagem de error qualquer\",\n status_code=500, data={\"name\": \"Um error\"}) # Enviar alerta\n\nlogger.error(message=\"Uma messagem de error qualquer repetida\",\n status_code=500, data={\"name\": \"Um error\"}, alert=False) # N\u00e3o enviar alerta\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "Python library for logging with colors and http status code.",
"version": "0.2.5",
"split_keywords": [
"logs",
"logging",
"logger"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cec4f7230c3d96a26e4d106c3c48d6d5b609b4313f76e4a7125d219c6d80e1b7",
"md5": "48a35ee2d98ca17f4ecea9ce3ef7460f",
"sha256": "806fe22a908b81317abd928916a1538c57a0dd87f4cc6b0bd9d2460772fde762"
},
"downloads": -1,
"filename": "frexco_pylogger-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "48a35ee2d98ca17f4ecea9ce3ef7460f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4221,
"upload_time": "2023-04-12T22:15:42",
"upload_time_iso_8601": "2023-04-12T22:15:42.127796Z",
"url": "https://files.pythonhosted.org/packages/ce/c4/f7230c3d96a26e4d106c3c48d6d5b609b4313f76e4a7125d219c6d80e1b7/frexco_pylogger-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-12 22:15:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "frexco-digital",
"github_project": "frexco-pylogger.git",
"lcname": "frexco-pylogger"
}