The branch, master has been updated
via 30cd766d9e8ac9b0ce52b7129dab52fca5068430 (commit)
from 0bed3dcbd4cda88b18e140617902a0458a98906f (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 -----------------------------------------------------------------
commit 30cd766d9e8ac9b0ce52b7129dab52fca5068430
Author: Mike Gabriel <mike.gabriel(a)das-netzwerkteam.de>
Date: Wed Dec 11 11:36:02 2013 +0100
Add new helper tool: x2gobroker-daemon-debug.
-----------------------------------------------------------------------
Summary of changes:
bin/x2gobroker | 14 ++++++++++--
debian/changelog | 1 +
sbin/x2gobroker-daemon-debug | 13 ++++++++++++
x2gobroker/defaults.py | 4 ++++
x2gobroker/loggers.py | 48 ++++++++++++++++++++++++++----------------
5 files changed, 60 insertions(+), 20 deletions(-)
create mode 100755 sbin/x2gobroker-daemon-debug
The diff of changes is:
diff --git a/bin/x2gobroker b/bin/x2gobroker
index caaa103..765aca2 100755
--- a/bin/x2gobroker
+++ b/bin/x2gobroker
@@ -88,6 +88,7 @@ if __name__ == "__main__":
{'args':['-M','--mode'], 'default': 'SSH', 'metavar': 'BROKER_MODE', 'help': 'Mode of the X2Go Session Broker to run ins (available: SSH, HTTP)', },
{'args':['-C','--config-file'], 'default': None, 'metavar': 'CONFIG_FILE', 'help': 'Specify a special configuration file name, default is: {default}'.format(default=x2gobroker.defaults.X2GOBROKER_CONFIG), },
{'args':['-d','--debug'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code; also: allow testing in web browser (make http\'s POST method available as GET method, as well)', },
+ {'args':['-i','--debug-interactively'], 'default': False, 'action': 'store_true', 'help': 'force output of log message to the stderr (rather than to the log files)', },
]
daemon_options = [
{'args':['-b', '--bind'], 'default': None, 'metavar': 'BIND_ADDRESS', 'help': 'The [address:]port that the web.py http-engine shall bind to (default: 127.0.0.1:8080)', },
@@ -117,6 +118,15 @@ if __name__ == "__main__":
if cmdline_args.config_file is not None:
x2gobroker.defaults.X2GOBROKER_CONFIG = cmdline_args.config_file
+ if cmdline_args.debug_interactively:
+ # recreate loggers...
+ logger_broker, logger_access, logger_error = x2gobroker.loggers.init_console_loggers()
+ # override loggers in x2gobroker module...
+ x2gobroker.loggers.logger_broker = logger_broker
+ x2gobroker.loggers.logger_broker = logger_access
+ x2gobroker.loggers.logger_error = logger_error
+ cmdline_args.debug = True
+
# override X2GOBROKER_DEBUG=0 in os.environ with the command line switch
if cmdline_args.debug:
x2gobroker.defaults.X2GOBROKER_DEBUG = cmdline_args.debug
@@ -230,8 +240,8 @@ else:
### tornado.web.HTTPError. Commenting out for now, may be removed
### later.
# some WSGI implementations do not like the SCRIPT_NAME env var
- #if 'SCRIPT_NAME' in environ:
- # del environ['SCRIPT_NAME']
+ if 'SCRIPT_NAME' in environ:
+ del environ['SCRIPT_NAME']
# make sure the httpd server's environment is set as os.environ
for key in environ.keys():
diff --git a/debian/changelog b/debian/changelog
index 141e2e9..f3d71b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -60,6 +60,7 @@ x2gobroker (0.0.3.0-0x2go1) UNRELEASED; urgency=low
- Fix check-credentials = false for UCCS web frontend.
- Add a start page (,,It works'').
- Use IP addresses in apache2 config rather than hostnames.
+ - Add new helper tool: x2gobroker-daemon-debug.
* debian/control:
+ Replace LDAP support with session brokerage support in LONG_DESCRIPTION.
+ Recommend apache2 and libapache2-mod-wsgi for x2gobroker-wsgi.
diff --git a/sbin/x2gobroker-daemon-debug b/sbin/x2gobroker-daemon-debug
new file mode 100755
index 0000000..e80fb1f
--- /dev/null
+++ b/sbin/x2gobroker-daemon-debug
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+if [ -e /etc/default/python-x2gobroker ]; then
+ . /etc/default/python-x2gobroker
+fi
+
+if [ -e /etc/default/x2gobroker-daemon ]; then
+ . /etc/default/x2gobroker-daemon
+fi
+
+export X2GOBROKER_DEBUG=true
+
+su - x2gobroker -c "x2gobroker -M http -i"
\ No newline at end of file
diff --git a/x2gobroker/defaults.py b/x2gobroker/defaults.py
index ab9844e..2d069d3 100644
--- a/x2gobroker/defaults.py
+++ b/x2gobroker/defaults.py
@@ -47,6 +47,10 @@ if os.environ.has_key('X2GOBROKER_DEBUG'):
X2GOBROKER_DEBUG = ( os.environ['X2GOBROKER_DEBUG'].lower() in ('1', 'on', 'true', 'yes', ) )
else:
X2GOBROKER_DEBUG = False
+if os.environ.has_key('X2GOBROKER_DEBUG_INTERACTIVELY'):
+ X2GOBROKER_DEBUG_INTERACTIVELY = ( os.environ['X2GOBROKER_DEBUG_INTERACTIVELY'].lower() in ('1', 'on', 'true', 'yes', ) )
+else:
+ X2GOBROKER_DEBUG_INTERACTIVELY = False
if os.environ.has_key('X2GOBROKER_TESTSUITE'):
X2GOBROKER_TESTSUITE = ( os.environ['X2GOBROKER_TESTSUITE'].lower() in ('1', 'on', 'true', 'yes', ) )
else:
diff --git a/x2gobroker/loggers.py b/x2gobroker/loggers.py
index dd5e258..c0c0f2d 100644
--- a/x2gobroker/loggers.py
+++ b/x2gobroker/loggers.py
@@ -25,6 +25,35 @@ import getpass
import logging
import logging.config
+def init_console_loggers():
+ """\
+ Initialize loggers that log to stderr.
+
+ @return: a 3-tuple of (logger_broker, logger_access, logger_error)
+ @rtype: C{tuple]
+ """
+ logger_root = logging.getLogger()
+ stderr_handler = logging.StreamHandler(sys.stderr)
+ stderr_handler.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt=''))
+
+ # all loggers stream to stderr...
+ logger_root.addHandler(stderr_handler)
+
+ logger_broker = logging.getLogger('broker')
+ logger_broker.addHandler(stderr_handler)
+ logger_broker.propagate = 0
+
+ logger_access = logging.getLogger('access')
+ logger_access.addHandler(stderr_handler)
+ logger_access.propagate = 0
+
+ logger_error = logging.getLogger('error')
+ logger_error.addHandler(stderr_handler)
+ logger_error.propagate = 0
+
+ return (logger_broker, logger_access, logger_error)
+
+
# 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_DAEMON_USER'):
X2GOBROKER_DAEMON_USER=os.environ['X2GOBROKER_DAEMON_USER']
@@ -47,24 +76,7 @@ if getpass.getuser() in (X2GOBROKER_DAEMON_USER, 'root') and os.path.exists(X2GO
logger_error = logging.getLogger('error')
else:
- logger_root = logging.getLogger()
- stderr_handler = logging.StreamHandler(sys.stderr)
- stderr_handler.setFormatter(logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt=''))
-
- # all loggers stream to stderr...
- logger_root.addHandler(stderr_handler)
-
- logger_broker = logging.getLogger('broker')
- logger_broker.addHandler(stderr_handler)
- logger_broker.propagate = 0
-
- logger_access = logging.getLogger('access')
- logger_access.addHandler(stderr_handler)
- logger_access.propagate = 0
-
- logger_error = logging.getLogger('error')
- logger_error.addHandler(stderr_handler)
- logger_error.propagate = 0
+ logger_broker, logger_access, logger_error = init_console_loggers()
def tornado_log_request(handler):
"""\
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).