diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-12 23:31:24 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-12 23:31:24 (GMT) |
commit | dd7fff79f87116dd69d975187363da48edfbfa4b (patch) | |
tree | c784e4e8c69f2205004a15910cf05dd8180aaa5c /sugar/logger.py | |
parent | c7c71d25a88fd6a1700885b87d33aa923730fb94 (diff) |
Fix add_python_path, ensure service exist before trying to log
Diffstat (limited to 'sugar/logger.py')
-rw-r--r-- | sugar/logger.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sugar/logger.py b/sugar/logger.py index fd5bf31..8c4ecff 100644 --- a/sugar/logger.py +++ b/sugar/logger.py @@ -16,11 +16,27 @@ class Handler(logging.Handler): self._console_id = console_id self._console = console self._records = [] + self._console_started = False + + bus = dbus.SessionBus() + bus.add_signal_receiver(self.__name_owner_changed, + dbus_interface = "org.freedesktop.DBus", + signal_name = "NameOwnerChanged") + + def __name_owner_changed(self, service_name, old_name, new_name): + if new_name != None: + self._console_started = True + else: + self._console_started = False def _log(self): + if not self._console_started: + return True + for record in self._records: self._console.log(record.levelno, self._console_id, record.msg) self._records = [] + return False def emit(self, record): |