Skip to content

Commit 2ae1749

Browse files
authored
Feature/logging (#12)
* Add django & guby_backend log handlers * Use time based rotator * Set log file location * Add logs to methods
1 parent c846546 commit 2ae1749

File tree

5 files changed

+155
-37
lines changed

5 files changed

+155
-37
lines changed

guby/settings.py

+47-1
Original file line numberDiff line numberDiff line change
@@ -137,4 +137,50 @@
137137

138138
BOOTSTRAP4 = {
139139
'include_jquery': True,
140-
}
140+
}
141+
142+
LOGGING = {
143+
'version': 1,
144+
'disable_existing_loggers': False,
145+
'handlers': {
146+
'console': {
147+
'class': 'logging.StreamHandler',
148+
},
149+
'file': {
150+
'level': 'DEBUG',
151+
'class': 'logging.handlers.TimedRotatingFileHandler',
152+
'when': 'D',
153+
'backupCount': 0,
154+
'utc':'True',
155+
'filename': '/tmp/guby-web.log',
156+
'formatter': 'verbose'
157+
},
158+
},
159+
'formatters': {
160+
'verbose': {
161+
'format': '{levelname} {asctime} {name} {module} pid-{process:d} {message}',
162+
# 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
163+
'style': '{',
164+
},
165+
},
166+
'root': {
167+
'handlers': ['console'],
168+
'level': 'INFO',
169+
},
170+
'loggers': {
171+
'': {
172+
'handlers': ['console', 'file'],
173+
'level': 'INFO',
174+
},
175+
'django.request': {
176+
'handlers': ['console', 'file'],
177+
'level': 'INFO',
178+
'propagate': False,
179+
},
180+
'guby_backend': {
181+
'handlers': ['console', 'file'],
182+
'level': 'INFO',
183+
'propagate': True,
184+
},
185+
},
186+
}

guby_backend/admin.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import logging
2+
13
from django.contrib import admin
24
from django.contrib.auth import get_user_model
35
from django.contrib.auth.admin import UserAdmin
@@ -6,6 +8,7 @@
68
from guby_backend.forms import GubyUserCreationForm, GubyUserChangeForm
79

810
User = get_user_model()
11+
logger = logging.getLogger(__name__)
912

1013
class GubyUserAdmin(UserAdmin):
1114
add_form = GubyUserCreationForm
@@ -16,5 +19,6 @@ class GubyUserAdmin(UserAdmin):
1619
# Register your models here.
1720
admin.site.register(Meetup)
1821
admin.site.register(Event)
19-
# admin.site.register(Speaker)
22+
23+
logger.info("registering guby user")
2024
admin.site.register(GubyUser, GubyUserAdmin)

guby_backend/urls.py

+4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1+
import logging
2+
13
from django.urls import path, include
24
from django.contrib.auth import views as auth_views
35

46
from . import views
57

8+
logger = logging.getLogger(__name__)
9+
610
urlpatterns = [
711
path('users/', include('django.contrib.auth.urls')),
812
path('users/signup/', views.SignUpView.as_view(), name='signup'),

guby_backend/utils.py

+5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
import logging
12
from functools import wraps
23
from django.http import HttpResponseForbidden
34
from django.contrib.auth import get_user_model
45

6+
logger = logging.getLogger(__name__)
7+
58
def has_ownership(func):
69

710
@wraps(func)
@@ -17,6 +20,7 @@ def check_owner_wrapper(request, *args, **kwargs):
1720
return check_owner_wrapper
1821

1922
def get_own_meetup_ids(user):
23+
logger.info(f"get own meetups for user {user}")
2024
# get group names where the user is owner
2125
group_names = user.groups.all()
2226

@@ -30,6 +34,7 @@ def get_own_meetup_ids(user):
3034

3135

3236
def create_inactive_user(email):
37+
logger.info(f"create inactive user {email}")
3338
User = get_user_model()
3439
new_user = User(email=email, name=email, is_active=False)
3540
new_user.save()

0 commit comments

Comments
 (0)