Revision d01cd522

b/snf-common/synnefo/lib/amqp_puka.py
51 51
from ordereddict import OrderedDict
52 52
from synnefo import settings
53 53

  
54
logging.basicConfig(level=logging.DEBUG,
55
                    format="[%(levelname)s %(asctime)s] %(message)s")
56 54
logger = logging.getLogger()
57 55

  
58 56

  
b/snf-common/synnefo/settings/default/logging.py
3 3
# Logging configuration
4 4
##################################
5 5

  
6
LOGGING_SETUP = {
7
    'version': 1,
8
    'disable_existing_loggers': True,
9 6

  
10
    'formatters': {
7
FORMATTERS = {
11 8
        'simple': {
12 9
            'format': '%(asctime)s [%(levelname)s] %(message)s'
13 10
        },
14 11
        'verbose': {
15
            'format': '%(asctime)s %(name)s %(module)s [%(levelname)s] %(message)s'
12
            'format': '%(asctime)s [%(process)d] %(name)s %(module)s [%(levelname)s] %(message)s'
16 13
        },
17 14
        'django': {
18 15
            'format': '[%(asctime)s] %(levelname)s %(message)s',
19 16
            'datefmt': '%d/%b/%Y %H:%M:%S'
20 17
        },
21
    },
18
}
19

  
20
LOGGING_SETUP = {
21
    'version': 1,
22
    'disable_existing_loggers': True,
22 23

  
24
    'formatters':  FORMATTERS,
23 25
    'handlers': {
24 26
        'null': {
25 27
            'class': 'logging.NullHandler',
26 28
        },
27 29
        'console': {
28 30
            'class': 'logging.StreamHandler',
29
            'formatter': 'simple'
31
            'formatter': 'verbose'
30 32
        },
31 33
        'syslog': {
32 34
            'class': 'logging.handlers.SysLogHandler',
......
66 68
        },
67 69
    }
68 70
}
71

  
72
SNF_MANAGE_LOGGING_SETUP = {
73
    'version': 1,
74
    'disable_existing_loggers': True,
75

  
76
    'formatters': FORMATTERS,
77

  
78
    'handlers': {
79
        'console': {
80
            'class': 'logging.StreamHandler',
81
            'formatter': 'verbose'
82
        },
83
    },
84

  
85
    'loggers': {
86
        '': {
87
            'handlers': ['console'],
88
            'level': 'INFO'
89
        },
90
        'synnefo': {
91
            'handlers': ['console'],
92
            'level': 'INFO',
93
            'propagate': 0
94
        }
95
    }
96
}
b/snf-cyclades-app/synnefo/app_settings/default/logging.py
2 2
# snf-cyclades-app logging configuration
3 3
#####################
4 4

  
5
DISPATCHER_LOGGING = {
6
    'version': 1,
7
    'disable_existing_loggers': True,
8

  
9
    'formatters': {
10
        'simple': {
11
            'format': '%(asctime)s [%(levelname)s] %(message)s'
12
        },
13
        'verbose': {
14
            'format': '%(asctime)s [%(process)d] %(name)s %(module)s [%(levelname)s] %(message)s'
15
        },
16
        'django': {
17
            'format': '[%(asctime)s] %(levelname)s %(message)s',
18
            'datefmt': '%d/%b/%Y %H:%M:%S'
19
        },
20
    },
21

  
22
    'handlers': {
23
        'console': {
24
            'class': 'logging.StreamHandler',
25
            'formatter': 'verbose'
26
        },
27
        'file': {
28
            'class': 'logging.handlers.WatchedFileHandler',
29
            'filename': '/var/log/synnefo/dispatcher.log',
30
            'formatter': 'verbose',
31
            'level': 'DEBUG'
32
        },
33
    },
34

  
35
    'loggers': {
36
        'synnefo': {'propagate': 0,
37
                    'handlers': ['file'],
38
                    'level': 'INFO'
39
                    }
40
    },
41

  
42
    'root': {
43
        'handlers': ['file'],
44
        'level': 'DEBUG',
45
    }
46
}
47

  
48

  
49 5
SNFADMIN_LOGGING = {
50 6
    'version': 1,
51 7
    'disable_existing_loggers': True,
b/snf-cyclades-app/synnefo/logic/dispatcher.py
48 48

  
49 49
from django.db import close_connection
50 50

  
51
import logging
52 51
import time
53 52

  
54 53
import daemon
......
64 63
from synnefo.lib.amqp import AMQPClient
65 64
from synnefo.logic import callbacks
66 65

  
67
from synnefo.util.dictconfig import dictConfig
68
dictConfig(settings.DISPATCHER_LOGGING)
66
import logging
69 67
log = logging.getLogger()
70 68

  
71 69
# Queue names
......
304 302
    disp.wait()
305 303

  
306 304

  
305
def setup_logging(opts):
306
    import logging
307
    formatter = logging.Formatter("%(asctime)s %(name)s %(module)s [%(levelname)s] %(message)s")
308
    if opts.debug:
309
        stream_handler = logging.StreamHandler()
310
        stream_handler.setFormatter(formatter)
311
        log.addHandler(stream_handler)
312
    else:
313
        import logging.handlers
314
        log_file = "/var/log/synnefo/dispatcher.log"
315
        file_handler = logging.handlers.WatchedFileHandler(log_file)
316
        file_handler.setFormatter(formatter)
317
        log.addHandler(file_handler)
318

  
319
    log.setLevel(logging.DEBUG)
320

  
321

  
307 322
def main():
308 323
    (opts, args) = parse_arguments(sys.argv[1:])
309 324

  
......
312 327
    # the executable by NUL bytes, so only show the name of the executable
313 328
    # instead.  setproctitle.setproctitle("\x00".join(sys.argv))
314 329
    setproctitle.setproctitle(sys.argv[0])
315

  
316
    if opts.debug:
317
        stream_handler = logging.StreamHandler()
318
        formatter = logging.Formatter("%(asctime)s %(module)s %(levelname)s: %(message)s",
319
                                      "%Y-%m-%d %H:%M:%S")
320
        stream_handler.setFormatter(formatter)
321
        log.addHandler(stream_handler)
330
    setup_logging(opts)
322 331

  
323 332
    # Init the global variables containing the queues
324 333
    _init_queues()
b/snf-webproject/synnefo/webproject/manage.py
56 56
from django.utils.importlib import import_module
57 57
from optparse import Option, make_option
58 58
from synnefo.util.version import get_component_version
59
from synnefo.lib.dictconfig import dictConfig
59 60

  
60 61
import sys
61 62
import os
......
63 64

  
64 65
_commands = None
65 66

  
67

  
66 68
def find_modules(name, path=None):
67 69
    """Find all modules with name 'name'
68 70

  
......
296 298
            klass = load_command_class(app_name, subcommand)
297 299
        return klass
298 300

  
301

  
302
def configure_logging():
303
    try:
304
        from synnefo.settings import SNF_MANAGE_LOGGING_SETUP
305
        dictConfig(SNF_MANAGE_LOGGING_SETUP)
306
    except ImportError:
307
        import logging
308
        logging.basicConfig()
309
        log = logging.getLogger()
310
        log.warning("SNF_MANAGE_LOGGING_SETUP setting missing.")
311

  
312

  
299 313
def main():
300 314
    # no need to run setup_environ
301 315
    # we already know our project
302 316
    os.environ['DJANGO_SETTINGS_MODULE'] = os.environ.get('DJANGO_SETTINGS_MODULE',
303 317
                                                          'synnefo.settings')
318
    configure_logging()
304 319
    mu = SynnefoManagementUtility(sys.argv)
305 320
    mu.execute()
306 321

  

Also available in: Unified diff