diff --git a/rqd/rqd/__main__.py b/rqd/rqd/__main__.py index b444b0141..e17de155a 100755 --- a/rqd/rqd/__main__.py +++ b/rqd/rqd/__main__.py @@ -149,30 +149,30 @@ def daemonize(log_path=None, chdir_to_root=True): pass def setupLogging(): - """Sets up the logging for RQD. Logs to /var/log/messages""" - - consolehandler = logging.StreamHandler() - consolehandler.setLevel(rqd.rqconstants.CONSOLE_LOG_LEVEL) - consolehandler.setFormatter(logging.Formatter(rqd.rqconstants.LOG_FORMAT)) - logging.getLogger('').addHandler(consolehandler) - - if platform.system() in ('Linux', 'Darwin'): - if platform.system() == 'Linux': - syslogAddress = '/dev/log' - else: - syslogAddress = '/var/run/syslog' - if os.path.exists(syslogAddress): - logfile = logging.handlers.SysLogHandler(address=syslogAddress) + """Sets up the logging for RQD. + Logs to /var/log/messages""" + logger = logging.getLogger() + logger.setLevel(rqd.rqconstants.CONSOLE_LOG_LEVEL) + for handler in logger.handlers: + handler.setFormatter(logging.Formatter(rqd.rqconstants.LOG_FORMAT)) + + if rqd.rqconstants.FILE_LOG_LEVEL is not None: + if platform.system() in ('Linux', 'Darwin'): + if platform.system() == 'Linux': + syslogAddress = '/dev/log' + else: + syslogAddress = '/var/run/syslog' + if os.path.exists(syslogAddress): + logfile = logging.handlers.SysLogHandler(address=syslogAddress) + else: + logfile = logging.handlers.SysLogHandler() + elif platform.system() == 'Windows': + logfile = logging.FileHandler(os.path.expandvars('%TEMP%/openrqd.log')) else: logfile = logging.handlers.SysLogHandler() - elif platform.system() == 'Windows': - logfile = logging.FileHandler(os.path.expandvars('%TEMP%/openrqd.log')) - else: - logfile = logging.handlers.SysLogHandler() - logfile.setLevel(rqd.rqconstants.FILE_LOG_LEVEL) - logfile.setFormatter(logging.Formatter(rqd.rqconstants.LOG_FORMAT)) - logging.getLogger('').addHandler(logfile) - logging.getLogger('').setLevel(logging.DEBUG) + logfile.setLevel(rqd.rqconstants.FILE_LOG_LEVEL) + logfile.setFormatter(logging.Formatter(rqd.rqconstants.LOG_FORMAT)) + logger.addHandler(logfile) def setup_sentry(): @@ -210,6 +210,7 @@ def usage(): def main(): """Entrypoint for RQD.""" setupLogging() + logger = logging.getLogger() if platform.system() == 'Linux' and os.getuid() != 0 and \ rqd.rqconstants.RQD_BECOME_JOB_USER: @@ -234,7 +235,7 @@ def main(): rqd.rqutil.permissionsLow() - logging.warning('RQD Starting Up') + logger.warning('RQD Starting Up') setup_sentry() diff --git a/rqd/rqd/rqconstants.py b/rqd/rqd/rqconstants.py index 105685270..6f23ebc89 100644 --- a/rqd/rqd/rqconstants.py +++ b/rqd/rqd/rqconstants.py @@ -141,9 +141,10 @@ ALLOW_GPU = False LOAD_MODIFIER = 0 # amount to add/subtract from load -LOG_FORMAT = '%(asctime)s %(levelname)-9s openrqd-%(module)-10s %(message)s' -CONSOLE_LOG_LEVEL = logging.DEBUG -FILE_LOG_LEVEL = logging.WARNING # Equal to or greater than the consoleLevel +LOG_FORMAT = '%(levelname)-9s openrqd-%(module)-10s: %(message)s' +CONSOLE_LOG_LEVEL = logging.WARNING +# Equal to or greater than the consoleLevel. None deactives logging to file +FILE_LOG_LEVEL = None if subprocess.getoutput('/bin/su --help').find('session-command') != -1: SU_ARGUMENT = '--session-command'