# HG changeset patch # User neko259 # Date 2014-02-09 10:37:23 # Node ID 905cd0bf2e600b52cf6eefaa0123cf54690bfd39 # Parent e9babb2ab44ad22ef847744b9e27abd96340afcc Added some logging diff --git a/boards/models/post.py b/boards/models/post.py --- a/boards/models/post.py +++ b/boards/models/post.py @@ -1,5 +1,6 @@ from datetime import datetime, timedelta, date from datetime import time as dtime +import logging import os from random import random import time @@ -43,6 +44,8 @@ SETTING_MODERATE = "moderate" REGEX_REPLY = re.compile('>>(\d+)') +logger = logging.getLogger(__name__) + class PostManager(models.Manager): @@ -89,6 +92,8 @@ class PostManager(models.Manager): self._delete_old_threads() self.connect_replies(post) + logger.info('Created post #%d' % post.id) + return post def delete_post(self, post): @@ -96,6 +101,8 @@ class PostManager(models.Manager): Deletes post and update or delete its thread """ + post_id = post.id + thread = post.get_thread() if post.is_opening(): @@ -106,6 +113,8 @@ class PostManager(models.Manager): post.delete() + logger.info('Deleted post #%d' % post_id) + def delete_posts_by_ip(self, ip): """ Deletes all posts of the author with same IP @@ -133,6 +142,8 @@ class PostManager(models.Manager): thread.last_edit_time = timezone.now() thread.save() + logger.info('Archived %d old threads' % num_threads_to_delete) + def connect_replies(self, post): """ Connects replies to a post to show them as a reflink map @@ -357,6 +368,8 @@ class Thread(models.Model): if self.can_bump(): self.bump_time = timezone.now() + logger.info('Bumped thread %d' % self.id) + def get_reply_count(self): return self.replies.count() diff --git a/boards/views/api.py b/boards/views/api.py --- a/boards/views/api.py +++ b/boards/views/api.py @@ -1,5 +1,6 @@ from datetime import datetime import json +import logging from django.db import transaction from django.http import HttpResponse from django.shortcuts import get_object_or_404, render @@ -25,6 +26,8 @@ DIFF_TYPE_JSON = 'json' STATUS_OK = 'ok' STATUS_ERROR = 'error' +logger = logging.getLogger(__name__) + @transaction.atomic def api_get_threaddiff(request, thread_id, last_update_time): @@ -32,6 +35,8 @@ def api_get_threaddiff(request, thread_i Gets posts that were changed or added since time """ + logger.info('Getting thread diff since %s' % last_update_time) + thread = get_object_or_404(Post, id=thread_id).thread_new filter_time = datetime.fromtimestamp(float(last_update_time) / 1000000, @@ -95,6 +100,8 @@ def api_add_post(request, opening_post_i 'errors': errors, } + logger.info('Added post via api. Status: %s' % status) + return HttpResponse(content=json.dumps(response)) @@ -104,6 +111,8 @@ def get_post(request, post_id): in threads list with 'truncated' get parameter. """ + logger.info('Getting post #%s' % post_id) + post = get_object_or_404(Post, id=post_id) context = RequestContext(request) diff --git a/neboard/settings.py b/neboard/settings.py --- a/neboard/settings.py +++ b/neboard/settings.py @@ -173,25 +173,32 @@ CAPTCHA_OUTPUT_FORMAT = (u' %(hidden_fie LOGGING = { 'version': 1, 'disable_existing_loggers': False, + 'formatters': { + 'verbose': { + 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' + }, + 'simple': { + 'format': '%(levelname)s %(asctime)s [%(module)s] %(message)s' + }, + }, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse' } }, 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler' - } + 'console': { + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + 'formatter': 'simple' + }, }, 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True, - }, - } + 'boards': { + 'handlers': ['console'], + 'level': 'DEBUG', + } + }, } MARKUP_FIELD_TYPES = (