root / env / lib / python2.7 / site-packages / south / logger.py @ d1a4905f
History | View | Annotate | Download (1.15 KB)
1 |
import sys |
---|---|
2 |
import logging |
3 |
from django.conf import settings |
4 |
|
5 |
# Create a dummy handler to use for now.
|
6 |
class NullHandler(logging.Handler): |
7 |
def emit(self, record): |
8 |
pass
|
9 |
|
10 |
def get_logger(): |
11 |
"Attach a file handler to the logger if there isn't one already."
|
12 |
debug_on = getattr(settings, "SOUTH_LOGGING_ON", False) |
13 |
logging_file = getattr(settings, "SOUTH_LOGGING_FILE", False) |
14 |
|
15 |
if debug_on:
|
16 |
if logging_file:
|
17 |
if len(_logger.handlers) < 2: |
18 |
_logger.addHandler(logging.FileHandler(logging_file)) |
19 |
_logger.setLevel(logging.DEBUG) |
20 |
else:
|
21 |
raise IOError, "SOUTH_LOGGING_ON is True. You also need a SOUTH_LOGGING_FILE setting." |
22 |
|
23 |
return _logger
|
24 |
|
25 |
def close_logger(): |
26 |
"Closes the logger handler for the file, so we can remove the file after a test."
|
27 |
for handler in _logger.handlers: |
28 |
_logger.removeHandler(handler) |
29 |
if isinstance(handler, logging.FileHandler): |
30 |
handler.close() |
31 |
|
32 |
def init_logger(): |
33 |
"Initialize the south logger"
|
34 |
logger = logging.getLogger("south")
|
35 |
logger.addHandler(NullHandler()) |
36 |
return logger
|
37 |
|
38 |
_logger = init_logger() |