Skip to main content

Log view hits over time so that you know who enter this view and when.

Project description

# View Logger

ViewLogger is a simple Django app Log view hits over time so that you know who enter this view and when.

## Installation

* Install the package
```sh
pip install ViewLogger
```
* Add Application to your project's INSTALLED_APPs
```python
INSTALLED_APPS = (
'....',
'ViewLogger',
)
```
* Add `ViewLogger.middleware.ViewLoggerMiddleware` to your Middleware classes .
```python
MIDDLEWARE_CLASSES = (
'....',
'ViewLogger.middleware.ViewLoggerMiddleware',
)
```

* Run Migrations
```sh
python manage.py migrate ViewLogger
```

#### Notes
* To exempt urls add VIEWLOGGER_EXEMPTED_PATHS to your setting.py
```python
VIEWLOGGER_EXEMPTED_PATHS=["/worker",]
```

* To exempt views add VIEWLOGGER_EXEMPTED_VIEWS to your setting.py
```python
VIEWLOGGER_EXEMPTED_VIEWS=["worker",]
```

* To exempt parameters add VIEWLOGGER_EXEMPTED_PARAMETER to your setting.py
```python
VIEWLOGGER_EXEMPTED_PARAMETER=["password",]
```

* ViewLogger by dafualt log all requests (GET and POST), add VIEWLOGGER_METHODS in your setting.py to log certain method ,
```python
VIEWLOGGER_METHODS=["POST"]
```

* To archive/load ViewLogger_Log table add VIEWLOGGER_ARCHIVE_DIR to your setting.py
```python
VIEWLOGGER_ARCHIVE_DIR = os.path.join(BASE_DIR, "ViewLoggerArchive")
```
Then run to archive data
```python
python manage.py ArchiveViewLoggerTable
```
you will find JSON file named From_(first date in ViewLogger table)_To_(last date in ViewLogger table).json file for example : From_2018-01-01_To_2018-12-01.json
and the table is empty now and the auto_increment is reset

or run to load the data you have archived from one file
```python
python manage.py LoadViewLoggerArchivedData.py --file=file_name
```
or more than one file
```python
python manage.py LoadViewLoggerTable.py --files="file1_name,file2_name,file3_name"
```

* To search in ViewLogger archived files
```python
python manage.py SearchInViewLoggerArchives --done_by=mahmood --done_on=2018-12-01
```
with parameter available with examples :
```python
--done_by=mahmood
--done_on=date
--url=path/to/view
--view_kwargs=key1=val1,key2=val2,
--view_args=arg1=val1,arg2=val2,
--view_name=view_name
--request_body=key1=val1,key2=val2,
--request_method=GET
```
the output will generate json object with the values for example :
```json
File = From_2018-01-01_To_2018-12-01.json
{
"view_args": [],
"view_kwargs": {
"testid": "40478"
},
"request_body": {
"requestby": "mahmood",
"resultcode": "1"
},
"url": "/path/to/view",
"done_on": "2018-12-01 12:12:12.142001",
"view_name": "Edit",
"done_by": "mahmood",
"request_method": "POST",
"id": 498
}
```
and you can save the putput in file for example :
```python
python manage.py SearchInViewLoggerArchives --done_by=mahmood --done_on=2018-12-01 > /path/to/output.json
```

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

ViewLogger-1.6.1.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ViewLogger-1.6.1-py2-none-any.whl (16.6 kB view details)

Uploaded Python 2

File details

Details for the file ViewLogger-1.6.1.tar.gz.

File metadata

  • Download URL: ViewLogger-1.6.1.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15rc1

File hashes

Hashes for ViewLogger-1.6.1.tar.gz
Algorithm Hash digest
SHA256 96a76e51936a9a6ff06e36706877ed38437fdc6e2a6f1722453efa76e961d502
MD5 a41f9ea63f81d72a586af77d29f763bf
BLAKE2b-256 43b5622c832cb4768b53885a583f0841fc284715c1f58e7924eb2e1988c260b6

See more details on using hashes here.

File details

Details for the file ViewLogger-1.6.1-py2-none-any.whl.

File metadata

  • Download URL: ViewLogger-1.6.1-py2-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15rc1

File hashes

Hashes for ViewLogger-1.6.1-py2-none-any.whl
Algorithm Hash digest
SHA256 eeea41d983d4db1041636fae8201c4b6c854ec679fa33beab82003f41a015df6
MD5 64c22fa6f1461045116622bf1bf45a63
BLAKE2b-256 5d4a38e2a1cb6eec7801149ddb582b39014a69055f8847747650ff1661ae0d4b

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