Skip to main content

django_logger

Project description

Пакет django_logger предназначен для хранения и периодической записи логов в базу данных.

Чтобы начать использовать django_logger нужно:

1) создать модель для храниения логов:

class Log(models.Model):
level = models.CharField(max_length=200)
message = models.TextField()
extra = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)

2) в файле settings.py создать конфигурации для логирования,
в качестве примера:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'filehandler': {
'level': 'INFO',
'class': 'django_logger.handler.FileLogHandler',
'filename': file_log
}
},
'loggers': {
'registry': {
'handlers': ['filehandler'],
'level': 'INFO',
'propagate': False,
}
}
}

3) создать представление CreateViews, для записи логов в базу данных,
и обернауть его в @csrf_exempt декоратор,
в качестве примера:

@csrf_exempt
def create_log(request):
strings = request.POST

for key in strings:
string = json.loads(strings[key])
default_log_data = string['default_log_data']
extra_data = string['extra_data']

Log.objects.create(level=default_log_data['level'],
message=default_log_data['message'],
extra=extra_data)

return HttpResponse()

4) в файле с views-хами создать строку с обращением к конфигурации логгера:

logger = logging.getLogger('registry')

и в теле представление, при отработки которого будут записываться логи, прописать:

logger.info(message, extra={})

где message="сообщение, передоваемое в логгер при отработки представления",
а extra="словарь с данными, определяемыми самим пользователем"

5) в файле settings.py указать переменые:

file_log="путь к файлу, в который будут записываться логи",
log_url="урл, по которому будут отправляться логи из файла, для записи в бузу данных"
periodicity_of_sending_logs="переодичность отправки логов на запись"

6) в settings.py, в INSTALLED_APPS добавить наш django_logger,
это нужно, чтобы получить возможность запуска manage.py комманды из пакета django_logger.

7) после запуска приложения зпустить manage.py комманду "command_log_user_actions" из коммандной строки,
она отправляет логи, записанные в файл, на запись в нашу CreateViews, каждый определенный промежуток времени,
указанный в переменной periodicity_of_sending_logs.

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_logger-0.1.1.0.tar.gz (3.0 kB view details)

Uploaded Source

File details

Details for the file django_logger-0.1.1.0.tar.gz.

File metadata

File hashes

Hashes for django_logger-0.1.1.0.tar.gz
Algorithm Hash digest
SHA256 59a6625a9a26fe805b171ff591a956fa80fc82b1b1e156c81ea0949961e094ea
MD5 90ed99cdd5a82e76d76bceac06409077
BLAKE2b-256 453e9ff68494ec5519f6bc3f3cf50ba855758a4e1a66432d0e4f4e583f0c9490

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