﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
18243	Management shell should make it easy to force LOGGING_CONFIG=None	ncoghlan@…	nobody	"The standard behaviour of django means that the management interface is largely useless when run on a server where only the web server user has write access to the log files:
http://stackoverflow.com/questions/3980889/django-prevent-logging-permission-errors-from-shell/

The recommended solution is currently to:
1. Create a separate management_settings.py file that is merely:
{{{
   from .settings import *
   LOGGING_CONFIG = None
}}}
2. Set up the management command to use management_settings.py instead of the same settings file as the web service (or pass --settings explicitly on the command line)

While that's powerful and effective, an explicit ""--nolog"" option would be a lot simpler. Also, ""--help"" should imply ""--nolog"" to prevent behaviour like the following:

{{{
$ python -m pulpdist.manage_site --help
Usage: manage_site.py subcommand [options] [args]                                                                                                           
                                                                                                                                                            
Options:                                                                                                                                                    
  -v VERBOSITY, --verbosity=VERBOSITY                                                                                                                       
                        Verbosity level; 0=minimal output, 1=normal output,                                                                                 
                        2=all output                                                                                                                        
  --settings=SETTINGS   The Python path to a settings module, e.g.                                                                                          
                        ""myproject.settings.main"". If this isn't provided, the                                                                              
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath=PYTHONPATH
                        A directory to add to the Python path, e.g.
                        ""/home/djangoprojects/myproject"".
  --traceback           Print traceback on exception
  --version             show program's version number and exit
  -h, --help            show this help message and exit
Traceback (most recent call last):
  File ""/usr/lib64/python2.6/runpy.py"", line 122, in _run_module_as_main
    ""__main__"", fname, loader, pkg_name)
  File ""/usr/lib64/python2.6/runpy.py"", line 34, in _run_code
    exec code in run_globals
  File ""/usr/lib/python2.6/site-packages/pulpdist/manage_site.py"", line 32, in <module>
    execute_from_command_line(sys.argv)
  File ""/usr/lib/python2.6/site-packages/django/core/management/__init__.py"", line 429, in execute_from_command_line
    utility.execute()
  File ""/usr/lib/python2.6/site-packages/django/core/management/__init__.py"", line 377, in execute
    sys.stderr.write(self.main_help_text() + '\n')
  File ""/usr/lib/python2.6/site-packages/django/core/management/__init__.py"", line 239, in main_help_text
    commands = get_commands().keys()
  File ""/usr/lib/python2.6/site-packages/django/core/management/__init__.py"", line 101, in get_commands
    apps = settings.INSTALLED_APPS
  File ""/usr/lib/python2.6/site-packages/django/utils/functional.py"", line 276, in __getattr__
    self._setup()
  File ""/usr/lib/python2.6/site-packages/django/conf/__init__.py"", line 42, in _setup
    self._wrapped = Settings(settings_module)
  File ""/usr/lib/python2.6/site-packages/django/conf/__init__.py"", line 139, in __init__
    logging_config_func(self.LOGGING)
  File ""/usr/lib/python2.6/site-packages/django/utils/dictconfig.py"", line 553, in dictConfig
    dictConfigClass(config).configure()
  File ""/usr/lib/python2.6/site-packages/django/utils/dictconfig.py"", line 352, in configure
    '%r: %s' % (name, e))
ValueError: Unable to configure handler 'debug_log': [Errno 13] Permission denied: '/var/log/pulpdist/debug.log'
}}}"	Cleanup/optimization	new	Core (Management commands)	1.3	Normal				Accepted	0	0	0	0	0	0
