Logs registry for services
Project description
Logger Middleware
=========================
Permite almacenar en una base de datos de Mongo los eventos que son generados
en los distintos recursos de tipo _REST_ de una aplicación realizada en Django
### Dependencias
Tiene dependencia con las librerias:
- pymongo >= 3.6.1
Requerimientos:
- Python 3.6 or higher
- MongoDB 3.4 or higher
### Instalación
Se puede instalar como una libreria por medio de los siguientes medios:
- Comando PIP
- Repositorio en Github
#### Comando PIP
Se puede ejecutar el siguiente comando:
```
pip install django-logs-middleware
```
#### Repositorio
Dentro del archivo `requirements.txt` se debe de agregar la línea
```
git+https://github.com/AirBit-Club/D220180414_logs-middleware
```
Esto genera la libreria por medio del código fuente.
_Nota_:
Tener en consideración que este método solicita autenticación por medio de la cuenta de github
### Uso:
Dentro del archivo `settings.py` agregar
- Agregar a la lista de aplicaciones:
```python
INSTALLED_APPS = [
...,
'logs'
]
```
- Variables
| Variable | Requerido | Datos | Descripción |
| -----| :---------: | :-----: | :----------- |
| APP_NAME | Opcional | String | Indica el nombre de la aplicación|
| LOGS | Opcional | Dictionary | Es un diccionario con las configuraciones personalizadas de la libreria|
```python
INSTALLED_APPS = 'A cool app name'
LOGS = {
... ,
...
}
```
### Como funciona:
Pone a dispocición una clase para el middleware de la aplicación en Django el cual registra cada uno de los eventos
que se generan cuando se solicita algun recurso de la aplicación.
La clase que expone es `LogResourceMiddleware` la cual se puede agregar a la variable `MIDDLEWARE` quedando
de la siguiente forma:
```python
MIDDLEWARE = [
... ,
'logs.middleware.LogResourceMiddleware'
]
```
#### Registrar solo errores
Si bandera `only_errors` posee un valor `True`se almacenaran unicamente los errores que genere la aplicación
```python
LOGS = {
"only_errors" : True,
}
```
En caso que no se coloque la bandera el valor por defecto es `False`
#### Ambientes
Por defecto se poseen 2 ambientes preconfigurados en la libreria :
- development
- testing
La configuración para cada uno de ellos es:
**Development**
```
- Host: localhost
- Port: 27017
- Database: general
- Collection: general
```
**testing**
```
- Host: 10.232.6.1
- Port: 27017
- Database: airbit_db
- Collection: airbit_db
```
Para poder indicar cual de los ambientes se desea utilizar se puede agregar la llave environment a la variable logs e indicando el ambiente que se desea
```
LOGS = {
... ,
'environment': 'development'
}
```
##### Modificar valores de los ambientes
Si se desea modificar el valor de algun ambiente predefinido se debe de añadir como llave el nombre del ambiente
e indicar en un listado el la llave que se quiere modifiar y el nuevo valor a utilizar como por ejemplo:
```
LOGS = {
... ,
'environment': 'testing',
'testing': {
'PORT': 3300
}
}
```
Actualmente las llaves que se pueden modificar para los ambientes son:
|Llave|Tipo|Descripción|
|-----|----|-----------|
|HOST|String|Indica la IP o el nombre del host en donde se encuentra la base de datos de Mongo|
|PORT|Int| Puerto para la conexión con la base de datos|
|USER|String| El usuario para realizar la conexión en la base de datos|
|PASSWORD|String| Contraseña para la autenticación en la base de datos|
|DATABASE|String| Nombre de la base de datos en la cual se estará conectado|
|COLLECTION|String|Collecion donde se estarán almacenando los registros del log|
##### Ambientes personalizados
Se pueden declarar nuevos ambientes a los ya predefinidos dentro de la libreria.
```
LOGS = {
... ,
'production': {
'HOST': <- some cool IP or hostname- >,
'PORT': <- some one Port- >,
'DATABASE': <- DB ->,
'COLLECTION': <- CL ->,
'USER': <-Tipo opcional->,
'PASSWORD': <-Tipo opcional->,
}
}
```
Si se desea hacer uso del nuevo ambiente declarado se puede indicar el la llave `environment`
```
LOGS = {
... ,
'environment': 'production',
}
```
=========================
Permite almacenar en una base de datos de Mongo los eventos que son generados
en los distintos recursos de tipo _REST_ de una aplicación realizada en Django
### Dependencias
Tiene dependencia con las librerias:
- pymongo >= 3.6.1
Requerimientos:
- Python 3.6 or higher
- MongoDB 3.4 or higher
### Instalación
Se puede instalar como una libreria por medio de los siguientes medios:
- Comando PIP
- Repositorio en Github
#### Comando PIP
Se puede ejecutar el siguiente comando:
```
pip install django-logs-middleware
```
#### Repositorio
Dentro del archivo `requirements.txt` se debe de agregar la línea
```
git+https://github.com/AirBit-Club/D220180414_logs-middleware
```
Esto genera la libreria por medio del código fuente.
_Nota_:
Tener en consideración que este método solicita autenticación por medio de la cuenta de github
### Uso:
Dentro del archivo `settings.py` agregar
- Agregar a la lista de aplicaciones:
```python
INSTALLED_APPS = [
...,
'logs'
]
```
- Variables
| Variable | Requerido | Datos | Descripción |
| -----| :---------: | :-----: | :----------- |
| APP_NAME | Opcional | String | Indica el nombre de la aplicación|
| LOGS | Opcional | Dictionary | Es un diccionario con las configuraciones personalizadas de la libreria|
```python
INSTALLED_APPS = 'A cool app name'
LOGS = {
... ,
...
}
```
### Como funciona:
Pone a dispocición una clase para el middleware de la aplicación en Django el cual registra cada uno de los eventos
que se generan cuando se solicita algun recurso de la aplicación.
La clase que expone es `LogResourceMiddleware` la cual se puede agregar a la variable `MIDDLEWARE` quedando
de la siguiente forma:
```python
MIDDLEWARE = [
... ,
'logs.middleware.LogResourceMiddleware'
]
```
#### Registrar solo errores
Si bandera `only_errors` posee un valor `True`se almacenaran unicamente los errores que genere la aplicación
```python
LOGS = {
"only_errors" : True,
}
```
En caso que no se coloque la bandera el valor por defecto es `False`
#### Ambientes
Por defecto se poseen 2 ambientes preconfigurados en la libreria :
- development
- testing
La configuración para cada uno de ellos es:
**Development**
```
- Host: localhost
- Port: 27017
- Database: general
- Collection: general
```
**testing**
```
- Host: 10.232.6.1
- Port: 27017
- Database: airbit_db
- Collection: airbit_db
```
Para poder indicar cual de los ambientes se desea utilizar se puede agregar la llave environment a la variable logs e indicando el ambiente que se desea
```
LOGS = {
... ,
'environment': 'development'
}
```
##### Modificar valores de los ambientes
Si se desea modificar el valor de algun ambiente predefinido se debe de añadir como llave el nombre del ambiente
e indicar en un listado el la llave que se quiere modifiar y el nuevo valor a utilizar como por ejemplo:
```
LOGS = {
... ,
'environment': 'testing',
'testing': {
'PORT': 3300
}
}
```
Actualmente las llaves que se pueden modificar para los ambientes son:
|Llave|Tipo|Descripción|
|-----|----|-----------|
|HOST|String|Indica la IP o el nombre del host en donde se encuentra la base de datos de Mongo|
|PORT|Int| Puerto para la conexión con la base de datos|
|USER|String| El usuario para realizar la conexión en la base de datos|
|PASSWORD|String| Contraseña para la autenticación en la base de datos|
|DATABASE|String| Nombre de la base de datos en la cual se estará conectado|
|COLLECTION|String|Collecion donde se estarán almacenando los registros del log|
##### Ambientes personalizados
Se pueden declarar nuevos ambientes a los ya predefinidos dentro de la libreria.
```
LOGS = {
... ,
'production': {
'HOST': <- some cool IP or hostname- >,
'PORT': <- some one Port- >,
'DATABASE': <- DB ->,
'COLLECTION': <- CL ->,
'USER': <-Tipo opcional->,
'PASSWORD': <-Tipo opcional->,
}
}
```
Si se desea hacer uso del nuevo ambiente declarado se puede indicar el la llave `environment`
```
LOGS = {
... ,
'environment': 'production',
}
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django-logs-middleware-0.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b504ca4b3859f6098d83ab5335a6a06e1f333239774172343d53026e14d27c73 |
|
MD5 | baa3d3d36ac00403b42aedbe630971b6 |
|
BLAKE2b-256 | a5f544988131aed04e05283cc87c93c79c3c61654c70cddcd219ce733b69c32a |