views:

24

answers:

1

I'm working a small, personal Django project and I've added South (latest mercurial as of 10/9/10) to my project.

However, whenever I run "./manage.py syncdb" or "./manage.py migrate " I get about 13 pages (40 lines each) of output solely regarding 'initial_data' files not being found. I don't have any initial_data nor do I really want any, yet I get over 200 attempts at reading them for all the different apps in my project, including django's own apps.

Is there any way to quiet South? I haven't given South any input beyond adding it to my INSTALLED_APPS tuple and throwing an initial migration on, but I've gotten this annoying output since I installed it.

A: 

How is Your logging configured?

I have turned much of the output by configuring logging to higher level, as in:

[formatters]
keys=simple

[handlers]
keys=console

[loggers]
keys=root,south

[formatter_simple]
format=%(asctime)s %(levelname)7s %(message)s
datefmt=%Y-%m-%d %H:%M:%S

[handler_console]
class=StreamHandler
args=[]
formatter=simple

[logger_root]
level=INFO
qualname=root
handlers=console

[logger_south]
level=INFO
qualname=south
handlers=console

Also beware that logging config has to be called AFTER south logging has been imported, because of some magic. From my project, in my settings:

# south is setting logging on import-time; import it before setting our logger
# so it is not overwriting our settings
try:
    import south.logger
except ImportError:
    pass

import logging.config
if LOGGING_CONFIG_FILE:
    logging.config.fileConfig(LOGGING_CONFIG_FILE)
Almad
I haven't touched logging settings or anything; its a new, small project so I assume my settings are all defaults.
fahhem
Yes, that's why - AFAIK, in south.logger, south configures itself to behave little bit verbosely; You should overwrite it as I wrote (settings level to INFO instead of DEBUG).
Almad