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
pip install ViewLogger
pip install unicodecsv
  • Add Application to your project's INSTALLED_APPs
INSTALLED_APPS = (
    '....',
    'ViewLogger',
    )
  • Add ViewLogger.middleware.ViewLoggerMiddleware to your Middleware classes .
MIDDLEWARE_CLASSES = (
    '....',
    'ViewLogger.middleware.ViewLoggerMiddleware',
    )
  • Run Migrations
   python manage.py migrate ViewLogger 

Notes

  • To exempt urls add VIEWLOGGER_EXEMPTED_PATHS to your setting.py
VIEWLOGGER_EXEMPTED_PATHS=["/worker",]
  • To exempt views add VIEWLOGGER_EXEMPTED_VIEWS to your setting.py
VIEWLOGGER_EXEMPTED_VIEWS=["worker",]
  • To exempt parameters add VIEWLOGGER_EXEMPTED_PARAMETER to your setting.py
VIEWLOGGER_EXEMPTED_PARAMETER=["password",]
  • ViewLogger by dafualt log all requests (GET and POST), add VIEWLOGGER_METHODS in your setting.py to log certain method ,
VIEWLOGGER_METHODS=["POST"]
  • Save Request Duration
VIEWLOGGER_SAVE_DURATION = False
  • To archive/load ViewLogger_Log table add VIEWLOGGER_ARCHIVE_DIR to your setting.py
VIEWLOGGER_ARCHIVE_DIR = os.path.join(BASE_DIR, "ViewLoggerArchive")

Then run to archive data

 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 manage.py LoadViewLoggerArchivedData.py --file=file_name

or more than one file

 python manage.py LoadViewLoggerTable.py --files="file1_name,file2_name,file3_name"
  • To search in ViewLogger archived files
 python manage.py SearchInViewLoggerArchives --done_by=mahmood --done_on=2018-12-01 

with parameter available with examples :

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

 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 manage.py SearchInViewLoggerArchives --done_by=mahmood --done_on=2018-12-01 > /path/to/output.json

Download files

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

Source Distribution

ViewLogger-2.2.4.tar.gz (14.7 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: ViewLogger-2.2.4.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for ViewLogger-2.2.4.tar.gz
Algorithm Hash digest
SHA256 a65d347e7ec6de1e94f021526a90afc8626f9d0c0053068be6501551580b55e4
MD5 074f1b39601f3e4b3aa0141a69460065
BLAKE2b-256 4dc87138940cba4462699061cb1efeba800bcc1a2e0ade072872a99ef2b84f45

See more details on using hashes here.

Supported by

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