[X2Go-Commits] x2gobroker.git - build-main (branch) updated: 0.0.0.1-14-gb5df92c

X2Go dev team git-admin at x2go.org
Sun May 19 13:03:09 CEST 2013


The branch, build-main has been updated
       via  b5df92c61e0c84ec314b29acc60e635d43f3b7b0 (commit)
      from  5ef433db9f943afd56b15351cceb2021184ed43e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 x2gobroker/defaults.py |   74 ++++++++++++++++++++++++++++++++----------------
 x2gobroker/loggers.py  |   32 +++++++++++++++++----
 2 files changed, 76 insertions(+), 30 deletions(-)

The diff of changes is:
diff --git a/x2gobroker/defaults.py b/x2gobroker/defaults.py
index b85a296..1f250c2 100644
--- a/x2gobroker/defaults.py
+++ b/x2gobroker/defaults.py
@@ -22,50 +22,76 @@
 # modules
 import os
 import uuid
+import getpass
 
-# the home directory of the user that the daemon/cgi runs as
-X2GOBROKER_HOME = os.path.normpath(os.path.expanduser('~'))
+import logging
+from loggers import logger_broker, logger_access, logger_error, X2GOBROKER_DAEMON_USER
 
-if os.environ.has_key('X2GOBROKER_CONFIG'):
-    X2GOBROKER_CONFIG=os.environ['X2GOBROKER_CONFIG']
-else:
-    X2GOBROKER_CONFIG="/etc/x2go/x2gobroker.conf"
+X2GOBROKER_USER =  getpass.getuser()
 
-if os.environ.has_key('X2GOBROKER_LOGCONFIG'):
-    X2GOBROKER_LOGCONFIG=os.environ['X2GOBROKER_LOGCONFIG']
-else:
-    X2GOBROKER_LOGCONFIG="/etc/x2go/broker/x2gobroker-loggers.conf"
+###
+### dynamic default values, influencable through os.environ...
+###
 
-if os.environ.has_key('X2GOBROKER_SESSIONPROFILES'):
-    X2GOBROKER_SESSIONPROFILES=os.environ['X2GOBROKER_SESSIONPROFILES']
+if os.environ.has_key('X2GOBROKER_DEBUG'):
+    X2GOBROKER_DEBUG = ( os.environ['X2GOBROKER_DEBUG'].lower() in ('1', 'on', 'true', 'yes', ) )
 else:
-    X2GOBROKER_SESSIONPROFILES="/etc/x2go/broker/x2gobroker-sessionprofiles.conf"
+    X2GOBROKER_DEBUG = False
+if X2GOBROKER_USER != X2GOBROKER_DAEMON_USER:
+    X2GOBROKER_DEBUG = True
 
-if os.environ.has_key('X2GOBROKER_DEBUG'):
-    X2GOBROKER_DEBUG=( os.environ['X2GOBROKER_DEBUG'].lower() in ('1', 'on', 'true', 'yes', ) )
+if X2GOBROKER_DEBUG:
+    logger_broker.setLevel(logging.DEBUG)
+    logger_access.setLevel(logging.DEBUG)
+    logger_error.setLevel(logging.DEBUG)
+
+if X2GOBROKER_USER != X2GOBROKER_DAEMON_USER:
+    logger_broker.warn('X2Go Session Broker has been started interactively by user {username}, better run as user {daemon_username}.'.format(username=X2GOBROKER_USER, daemon_username=X2GOBROKER_DAEMON_USER))
+    logger_broker.info('Automatically switching to DEBUG mode due to interactive launch of this application.')
+logger_broker.info('Setting up the broker\'s environment...')
+logger_broker.info('  X2GOBROKER_DEBUG: {value}'.format(value=X2GOBROKER_DEBUG))
+
+if os.environ.has_key('X2GOBROKER_CONFIG'):
+    X2GOBROKER_CONFIG = os.environ['X2GOBROKER_CONFIG']
 else:
-    X2GOBROKER_DEBUG=False
+    X2GOBROKER_CONFIG = "/etc/x2go/x2gobroker.conf"
+logger_broker.info('  X2GOBROKER_CONFIG: {value}'.format(value=X2GOBROKER_CONFIG))
+
+X2GOBROKER_SESSIONPROFILES = "/etc/x2go/broker/x2gobroker-sessionprofiles.conf"
 
 if os.environ.has_key('X2GOBROKER_AGENT_CMD'):
-    X2GOBROKER_AGENT_CMD=os.environ['X2GOBROKER_AGENT_CMD']
+    X2GOBROKER_AGENT_CMD = os.environ['X2GOBROKER_AGENT_CMD']
 else:
-    X2GOBROKER_AGENT_CMD="/usr/lib/x2go/x2gobroker-agent"
+    X2GOBROKER_AGENT_CMD = "/usr/lib/x2go/x2gobroker-agent"
+logger_broker.info('  X2GOBROKER_AGENT_CMD: {value}'.format(value=X2GOBROKER_AGENT_CMD))
 
 if os.environ.has_key('X2GOBROKER_DEFAULT_BACKEND'):
-    X2GOBROKER_DEFAULT_BACKEND=os.environ['X2GOBROKER_DEFAULT_BACKEND']
+    X2GOBROKER_DEFAULT_BACKEND = os.environ['X2GOBROKER_DEFAULT_BACKEND']
 else:
-    X2GOBROKER_DEFAULT_BACKEND="zeroconf"
+    X2GOBROKER_DEFAULT_BACKEND = "zeroconf"
+logger_broker.info('  X2GOBROKER_DEFAULT_BACKEND: {value}'.format(value=X2GOBROKER_DEFAULT_BACKEND))
 
 if os.environ.has_key('X2GOBROKER_SSL_CERTFILE'):
-    X2GOBROKER_SSL_CERTFILE=os.environ['X2GOBROKER_SSL_CERTFILE']
+    X2GOBROKER_SSL_CERTFILE = os.environ['X2GOBROKER_SSL_CERTFILE']
 else:
-    X2GOBROKER_SSL_CERTFILE=""
+    X2GOBROKER_SSL_CERTFILE = ""
+logger_broker.info('  X2GOBROKER_SSL_CERTFILE: {value}'.format(value=X2GOBROKER_SSL_CERTFILE))
 
 if os.environ.has_key('X2GOBROKER_SSL_KEYFILE'):
-    X2GOBROKER_SSL_KEYFILE=os.environ['X2GOBROKER_SSL_KEYFILE']
+    X2GOBROKER_SSL_KEYFILE = os.environ['X2GOBROKER_SSL_KEYFILE']
 else:
-    X2GOBROKER_SSL_KEYFILE=""
+    X2GOBROKER_SSL_KEYFILE = ""
+logger_broker.info('  X2GOBROKER_SSL_KEYFILE: {value}'.format(value=X2GOBROKER_SSL_KEYFILE))
+
 
+###
+### static / hard-coded defaults
+###
+
+X2GOBROKER_SESSIONPROFILES = "/etc/x2go/broker/x2gobroker-sessionprofiles.conf"
+
+# the home directory of the user that the daemon/cgi runs as
+X2GOBROKER_HOME = os.path.normpath(os.path.expanduser('~'))
 
 # defaults for X2Go Sessino Broker configuration file
 X2GOBROKER_CONFIG_DEFAULTS = {
diff --git a/x2gobroker/loggers.py b/x2gobroker/loggers.py
index 7151fd5..e35a9a7 100644
--- a/x2gobroker/loggers.py
+++ b/x2gobroker/loggers.py
@@ -19,14 +19,22 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
+import os
 import sys
 import getpass
 import logging
 import logging.config
 
-from x2gobroker.defaults import X2GOBROKER_LOGCONFIG as _X2GOBROKER_LOGCONFIG
+X2GOBROKER_DAEMON_USER = 'x2gobroker'
 
-if getpass.getuser() == "x2gobroker":
+# normally this would go into defaults.py, however, we do not want to create a dependency loop between loggers.py and defaults.py...
+if os.environ.has_key('X2GOBROKER_LOGCONFIG'):
+    X2GOBROKER_LOGCONFIG=os.environ['X2GOBROKER_LOGCONFIG']
+else:
+    X2GOBROKER_LOGCONFIG="/etc/x2go/broker/x2gobroker-loggers.conf"
+
+# standalone daemon mode (x2gobroker-daemon) or interactive mode (called from the cmdline)?
+if getpass.getuser() == X2GOBROKER_DAEMON_USER:
 
     # we run in standalone daemon mode, so let's use the system configuration for logging
     logging.config.fileConfig(_X2GOBROKER_LOGCONFIG)
@@ -38,9 +46,21 @@ if getpass.getuser() == "x2gobroker":
 
 else:
     logger_root = logging.getLogger()
-    logger_root.addHandler(logging.StreamHandler(sys.stdout))
+    stdout_handler = logging.StreamHandler(sys.stdout)
+    stdout_handler.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt=''))
+
+    # all loggers stream to stdout...
+    logger_root.addHandler(stdout_handler)
+
+    logger_broker = logging.getLogger('broker')
+    logger_broker.addHandler(stdout_handler)
+    logger_broker.propagate = 0
+
+    logger_access = logging.getLogger('access')
+    logger_access.addHandler(stdout_handler)
+    logger_access.propagate = 0
 
-    logger_broker = logger_root
-    logger_access = logger_root
-    logger_error = logger_root
+    logger_error = logging.getLogger('error')
+    logger_error.addHandler(stdout_handler)
+    logger_error.propagate = 0
 


hooks/post-receive
-- 
x2gobroker.git (HTTP(S) Session broker for X2Go)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2gobroker.git" (HTTP(S) Session broker for X2Go).




More information about the x2go-commits mailing list