Skip to main content

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 fuenta.

_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'
]

```

#### Almacenar solamente errores

Por medio de la bandera `only_errors` se puede especificar que unicamente sean almacenados los errores que se generen de 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'
]

```

##### Ambientes personalizados y modificaciones de valores

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|


La librería permite declarar otros ambientes:

```
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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-logs-middleware-0.1.1.tar.gz (9.6 kB view details)

Uploaded Source

File details

Details for the file django-logs-middleware-0.1.1.tar.gz.

File metadata

File hashes

Hashes for django-logs-middleware-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5c54a8daf117d466cbb6f4214aaf9b486f5ee8de1d817840716a8120d60f98a1
MD5 2de7cbe89a561babb05074647cf6ec5e
BLAKE2b-256 df7760ea4f15f135525d27bbc3157b853c26b8b2f5e8eae666b043146b8e0b67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page