Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xshell/sugar-shell1
-rw-r--r--sugar/logger.py16
2 files changed, 13 insertions, 4 deletions
diff --git a/shell/sugar-shell b/shell/sugar-shell
index 580d168..28e22ff 100755
--- a/shell/sugar-shell
+++ b/shell/sugar-shell
@@ -28,6 +28,7 @@ from sugar import profile
from sugar import env
from sugar import TracebackUtils
+logger.cleanup()
logger.start('shell')
sys.path.insert(0, os.path.join(env.get_data_dir(), 'shell'))
diff --git a/sugar/logger.py b/sugar/logger.py
index 284b52c..56d66c6 100644
--- a/sugar/logger.py
+++ b/sugar/logger.py
@@ -29,10 +29,7 @@ class LogWriter:
def __init__(self, module_id):
self._module_id = module_id
- logs_dir = os.path.join(env.get_profile_path(), 'logs')
- if not os.path.isdir(logs_dir):
- os.makedirs(logs_dir)
-
+ logs_dir = _get_logs_dir()
log_path = os.path.join(logs_dir, module_id + '.log')
self._log_file = open(log_path, 'w')
@@ -68,6 +65,12 @@ def __exception_handler(typ, exc, tb):
_log_writer.write(logging.ERROR, trace.getvalue())
+def _get_logs_dir():
+ logs_dir = os.path.join(env.get_profile_path(), 'logs')
+ if not os.path.isdir(logs_dir):
+ os.makedirs(logs_dir)
+ return logs_dir
+
def start(module_id):
log_writer = LogWriter(module_id)
@@ -78,3 +81,8 @@ def start(module_id):
global _log_writer
_log_writer = log_writer
sys.excepthook = __exception_handler
+
+def cleanup():
+ logs_dir = _get_logs_dir()
+ for f in os.listdir(logs_dir):
+ os.remove(os.path.join(logs_dir, f))