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
pip install unicodecsv
```
* 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.7.1.tar.gz (12.0 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.7.1-py2-none-any.whl (19.0 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: ViewLogger-1.7.1.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.2.1 requests/2.18.4 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.7

File hashes

Hashes for ViewLogger-1.7.1.tar.gz
Algorithm Hash digest
SHA256 f34fcedd785317b407fca773a62d6dbf52079a15779b52bca7b5a0709af17227
MD5 189981d55f6518485626fc086af8a1bd
BLAKE2b-256 e2cdfc2fadc759c370efb4be634205ad6059f29ff0abf36fca70e584b02dec9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ViewLogger-1.7.1-py2-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.2.1 requests/2.18.4 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.7

File hashes

Hashes for ViewLogger-1.7.1-py2-none-any.whl
Algorithm Hash digest
SHA256 91764553f281939c10d9ed53a9df0d378285631a6209d34459397023db636bbb
MD5 f0c2805d628d46291fd5be1a3c87af1b
BLAKE2b-256 4e8f23e17ae77c50bd7209c62334a8024ec462f3746c58adbb542ae397b9fbf4

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