Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/session/LogWriter.py
blob: be9e5fb2efb644146d8793e6e253fad124d256de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import os
import sys
import logging

import dbus

import sugar.env

class LogWriter:
	def __init__(self, application, use_console = True):
		self._application = application
		self._use_console = use_console
		
		bus = dbus.SessionBus()
		proxy_obj = bus.get_object('com.redhat.Sugar.Logger', '/com/redhat/Sugar/Logger')
		self._logger = dbus.Interface(proxy_obj, 'com.redhat.Sugar.Logger')
			
	def start(self):
		if os.environ.has_key('SUGAR_USE_CONSOLE') and self._use_console:
			sys.stdout = self
			sys.stderr = self

		level = sugar.env.get_logging_level()
		if level == 'debug':
			logging.basicConfig(level=logging.DEBUG,
								format='%(levelname)s %(message)s')

	def write(self, s):
		self._logger.log(self._application, s, ignore_reply=True)

	def emit(self, record):
		pass
	
	def flush(self):
		pass