A log viewing and tailing utility accessible via a Django admin panel
Project description
==============
django_logtail
==============
Introduction
============
Logtail allows you to view logfiles for your django project via your django
admin, and will also provide you with a live tail of the logfiles using ajax
polling - and therefore without the need for a long-running django process.
Django 1.4+ compatible.
See Also: https://pypi-hypernode.com/pypi/django_logtail
Installation and Use
====================
Django logtail takes a dictionary from your settings.py as follows::
LOGTAIL_FILES = {
'apache': '/var/www/www.foo.com.log',
'django': '/var/log/www.foo.com/project.log',
}
Add it via your installed apps::
INSTALLED_APPS = (
...
'django_logtail',
)
Then absolutely ensure that the user that your django process runs as (whether
it's via wsgi, fastcgi, django runserver for debugging, or something else) has
permission to read all of the files in your LOGTAIL_FILES list.
logtail should then appear in your admin, and provide access to these files -
including a live tail of the file. Note that files will not appear if the
django process cannot access them.
Other Settings
==============
You can set the default update interval for the log tailing::
LOGTAIL_UPDATE_INTERVAL = 50000 # Default is 3000 (three second)
Developing
==========
You can build a development environment using the following instructions::
virtualenv venv --distribute
source venv/bin/activate
pip install -e .
python manage.py syncdb
python manage.py runserver
Logtail ``dumpdata`` Issue
==========================
If you use ``python manage.py dumpdata``, be sure to add the
``--exclude=logtail`` flag to your command or you'll be presented with a::
CommandError: Unable to serialize database: relation "django_logtail_log" does not exist
LINE 1: SELECT "django_logtail_log"."id" FROM "django_logtail_log" O...
traceback when you run the dumpdata command. This is because django_logtail
needs to pretend that it has a model called ``Log`` when registering with the
django admin site (``ModelAdmin`` objects can't exist without being bound to a
``Model``).
``syncdb`` will still work however, because the pretend model is marked as
``managed = False``.
============================
Changelog for django_logtail
============================
0.3.0 (2016-10-23)
------------------
- Add Django 1.10 and Python 3.5 compatibility (thanks @AlJohri)
0.2.0 (2013-12-11)
------------------
- Django 1.6 compatibility
0.1.1 (2013-05-26)
------------------
- Add the static folder to the MANIFEST.in
0.1.0 (2013-05-26)
------------------
- Adding ``django_logtail.urls`` to your project's ``ROOT_URLCONF`` is no
longer necessary. All log tailing functionality has been moved to the
``ModelAdmin`` class in the form of the URLs and views.
- Now that the view is served from the ModelAdmin, use the Media class to define
jquery dependency, and use django's built-in jquery object rather than using a
CDN.
- Added example/ project for easier testing.
- Update documentation.
0.0.6 (2013-03-20)
------------------
- Use a CDN that does not serve gateway timeouts (mediatemple -> google)
0.0.5 (2013-03-20)
------------------
- Load the jquery js over https where required using a protocol-relative url.
0.0.4 (2012-12-20)
------------------
- Improved the quality of the javascript polling code
- The default poll time is now three seconds, rather than every one
- Now Django 1.3+ compatible (@victorgp)
0.0.3 (2012-08-16)
------------------
- Add the ability to turn off polling (@scott-w)
0.0.2 (2012-05-04)
------------------
- Escape log text to prevent html element lookalikes screwing up the formatting.
0.0.1 (2012-04-22)
------------------
- Update the package MANIFEST.in to ensure that the README and changelog are
included.
0.0.0 (2012-04-22)
------------------
- Initial release.
django_logtail
==============
Introduction
============
Logtail allows you to view logfiles for your django project via your django
admin, and will also provide you with a live tail of the logfiles using ajax
polling - and therefore without the need for a long-running django process.
Django 1.4+ compatible.
See Also: https://pypi-hypernode.com/pypi/django_logtail
Installation and Use
====================
Django logtail takes a dictionary from your settings.py as follows::
LOGTAIL_FILES = {
'apache': '/var/www/www.foo.com.log',
'django': '/var/log/www.foo.com/project.log',
}
Add it via your installed apps::
INSTALLED_APPS = (
...
'django_logtail',
)
Then absolutely ensure that the user that your django process runs as (whether
it's via wsgi, fastcgi, django runserver for debugging, or something else) has
permission to read all of the files in your LOGTAIL_FILES list.
logtail should then appear in your admin, and provide access to these files -
including a live tail of the file. Note that files will not appear if the
django process cannot access them.
Other Settings
==============
You can set the default update interval for the log tailing::
LOGTAIL_UPDATE_INTERVAL = 50000 # Default is 3000 (three second)
Developing
==========
You can build a development environment using the following instructions::
virtualenv venv --distribute
source venv/bin/activate
pip install -e .
python manage.py syncdb
python manage.py runserver
Logtail ``dumpdata`` Issue
==========================
If you use ``python manage.py dumpdata``, be sure to add the
``--exclude=logtail`` flag to your command or you'll be presented with a::
CommandError: Unable to serialize database: relation "django_logtail_log" does not exist
LINE 1: SELECT "django_logtail_log"."id" FROM "django_logtail_log" O...
traceback when you run the dumpdata command. This is because django_logtail
needs to pretend that it has a model called ``Log`` when registering with the
django admin site (``ModelAdmin`` objects can't exist without being bound to a
``Model``).
``syncdb`` will still work however, because the pretend model is marked as
``managed = False``.
============================
Changelog for django_logtail
============================
0.3.0 (2016-10-23)
------------------
- Add Django 1.10 and Python 3.5 compatibility (thanks @AlJohri)
0.2.0 (2013-12-11)
------------------
- Django 1.6 compatibility
0.1.1 (2013-05-26)
------------------
- Add the static folder to the MANIFEST.in
0.1.0 (2013-05-26)
------------------
- Adding ``django_logtail.urls`` to your project's ``ROOT_URLCONF`` is no
longer necessary. All log tailing functionality has been moved to the
``ModelAdmin`` class in the form of the URLs and views.
- Now that the view is served from the ModelAdmin, use the Media class to define
jquery dependency, and use django's built-in jquery object rather than using a
CDN.
- Added example/ project for easier testing.
- Update documentation.
0.0.6 (2013-03-20)
------------------
- Use a CDN that does not serve gateway timeouts (mediatemple -> google)
0.0.5 (2013-03-20)
------------------
- Load the jquery js over https where required using a protocol-relative url.
0.0.4 (2012-12-20)
------------------
- Improved the quality of the javascript polling code
- The default poll time is now three seconds, rather than every one
- Now Django 1.3+ compatible (@victorgp)
0.0.3 (2012-08-16)
------------------
- Add the ability to turn off polling (@scott-w)
0.0.2 (2012-05-04)
------------------
- Escape log text to prevent html element lookalikes screwing up the formatting.
0.0.1 (2012-04-22)
------------------
- Update the package MANIFEST.in to ensure that the README and changelog are
included.
0.0.0 (2012-04-22)
------------------
- Initial release.
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
django_logtail-0.3.0.tar.gz
(6.2 kB
view details)
File details
Details for the file django_logtail-0.3.0.tar.gz
.
File metadata
- Download URL: django_logtail-0.3.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2f140a4d46db432d502d5119f356ee3a403bfccdc1d3761678714142985590a |
|
MD5 | 0ff6aec2ee26fc89692ba709632df148 |
|
BLAKE2b-256 | a048c3084f1cafda142c7bd5afbb89c036a70a0510cf2716a8b622f7dd0151c9 |