réécriture de la configuration des loggers pour utiliser syslog
Les loggers python ne fonctionnent pas en multiprocess, il faut utiliser un logger distant, le plus simple est d'utiliser syslog. La configuration du logger dans le fichier local_settings.py.example a été enlevé car c'est bien trop compliqué d'expliquer que la plupart des handlers proposés par la librairie logging de python ne vont pas fonctionner. Ce commit ajoute aussi une section sur les logs au fichier README.
This commit is contained in:
parent
0721a9a13c
commit
08f0935ded
13
README
13
README
|
@ -31,3 +31,16 @@ Avec SQLite::
|
|||
Avec PostgreSQL:
|
||||
|
||||
python manage.py sqlindexes | psql <db_name>
|
||||
|
||||
Logs
|
||||
----
|
||||
|
||||
Les logs sont envoyés vers le syslog local via /dev/log avec pour nom de
|
||||
service local0. Les logs de niveau debug ne sont envoyés que si l'option DEBUG
|
||||
est à True dans votre fichier local_settings.py.
|
||||
|
||||
Pour récupérer ces logs dans un fichier à part vous pouvez ajouter la
|
||||
ligne suivante dans le fichier de configuration du démon syslog local.::
|
||||
|
||||
local0.* -/var/log/polynum.log
|
||||
|
||||
|
|
|
@ -87,32 +87,3 @@ TEMPLATE_DIRS = (
|
|||
OAI_ADMIN_EMAIL = 'admin@univ.fr'
|
||||
OAI_TEXT = 'Polynum documents'
|
||||
OAI_REPOSITORY_NAME = 'Polynum OAI-PMH repository'
|
||||
|
||||
#
|
||||
# Logging configuration
|
||||
# See http://docs.djangoproject.com/en/dev/topics/logging
|
||||
#
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False,
|
||||
'filters': {
|
||||
'require_debug_false': {
|
||||
'()': 'django.utils.log.RequireDebugFalse'
|
||||
}
|
||||
},
|
||||
'handlers': {
|
||||
'mail_admins': {
|
||||
'level': 'ERROR',
|
||||
'filters': ['require_debug_false'],
|
||||
'class': 'django.utils.log.AdminEmailHandler'
|
||||
}
|
||||
},
|
||||
'loggers': {
|
||||
'django.request': {
|
||||
'handlers': ['mail_admins'],
|
||||
'level': 'ERROR',
|
||||
'propagate': True,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ Here starts the filter block
|
|||
<div id="filter-choices">
|
||||
{% for filter_choice in filter_choices %}
|
||||
<div><label class="filter-title">{{ filter_choice.caption }}</label>
|
||||
<p>{% for url, caption in filter_choice.choices %}
|
||||
<p class="{% if filter_choice.choices|length > 5 %}long{% endif %}">{% for url, caption in filter_choice.choices %}
|
||||
<a href="{{ url }}">{{ caption }}</a>
|
||||
{% endfor %}</p>
|
||||
</div>
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
import os.path
|
||||
import django.conf.global_settings as DEFAULT_SETTINGS
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
from logging.handlers import SysLogHandler
|
||||
|
||||
PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '.')
|
||||
|
||||
DEBUG = True
|
||||
TEMPLATE_DEBUG = DEBUG
|
||||
DEBUG = False
|
||||
TEMPLATE_DEBUG = False
|
||||
|
||||
ADMINS = (
|
||||
# ('Your Name', 'your_email@example.com'),
|
||||
|
@ -161,26 +162,30 @@ CRISPY_TEMPLATE_PACK = 'bootstrap'
|
|||
# more details on how to customize your logging configuration.
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False,
|
||||
'filters': {
|
||||
'require_debug_false': {
|
||||
'()': 'django.utils.log.RequireDebugFalse'
|
||||
}
|
||||
'formatters': {
|
||||
'syslog': {
|
||||
'format': 'polynum(pid=%(process)d) %(levelname)s %(message)s'
|
||||
},
|
||||
},
|
||||
'handlers': {
|
||||
'syslog':{
|
||||
'level':'DEBUG',
|
||||
'class':'logging.handlers.SysLogHandler',
|
||||
'formatter': 'syslog',
|
||||
'facility': SysLogHandler.LOG_LOCAL0,
|
||||
'address': '/dev/log',
|
||||
},
|
||||
'mail_admins': {
|
||||
'level': 'ERROR',
|
||||
'filters': ['require_debug_false'],
|
||||
'class': 'django.utils.log.AdminEmailHandler'
|
||||
}
|
||||
},
|
||||
'loggers': {
|
||||
'django.request': {
|
||||
'handlers': ['mail_admins'],
|
||||
'level': 'ERROR',
|
||||
'propagate': True,
|
||||
'': {
|
||||
'handlers': ['mail_admins', 'syslog' ],
|
||||
'level': 'INFO',
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
AUTHENTICATION_BACKENDS = ('polynum.base.backends.ModelBackend',)
|
||||
|
@ -208,6 +213,7 @@ if CAS_SERVER_URL:
|
|||
LOGIN_REDIRECT_URL = reverse_lazy('list_request')
|
||||
|
||||
if DEBUG:
|
||||
TEMPLATE_DEBUG = True
|
||||
MIDDLEWARE_CLASSES += (
|
||||
'debug_toolbar.middleware.DebugToolbarMiddleware',
|
||||
)
|
||||
|
@ -217,6 +223,7 @@ if DEBUG:
|
|||
DEBUG_TOOLBAR_CONFIG = {
|
||||
'INTERCEPT_REDIRECTS': False,
|
||||
}
|
||||
LOGGING['loggers']['']['level'] = 'DEBUG'
|
||||
|
||||
try:
|
||||
from gunicorn import version_info
|
||||
|
|
Reference in New Issue