Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot/config.py
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-12-26 17:16:07 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-12-26 18:17:29 (GMT)
commitdab868b20b936add86967eafe32711413b80dd6e (patch)
tree60fa49f59a8de148bd3fad607f688851678bbde8 /devbot/config.py
parent67d36d7eed2bf07063ba9cc7b3720f1efa4560ce (diff)
Rework logging and output
Use the logs for all the commands output. Tail the log if there is an error. Create a link to the latest log so that buildbot can find it easily.
Diffstat (limited to 'devbot/config.py')
-rw-r--r--devbot/config.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/devbot/config.py b/devbot/config.py
index 4eccc92..9637b4e 100644
--- a/devbot/config.py
+++ b/devbot/config.py
@@ -8,6 +8,7 @@ from devbot import distro
from devbot import plugins
from devbot import git
from devbot import utils
+from devbot import command
config_dir = None
logs_dir = None
@@ -92,6 +93,12 @@ def setup(**kwargs):
_setup_state_dir(kwargs["state_dir"])
_setup_install_dir(kwargs["install_dir"], relocatable)
+ if "log_name" in kwargs:
+ command.set_log_path(create_log(kwargs["log_name"]))
+
+ if "logger" in kwargs:
+ command.set_logger(kwargs["logger"])
+
def get_source_dir():
global _source_dir
@@ -105,7 +112,7 @@ def get_build_dir():
return _build_dir
-def get_log_path(prefix):
+def create_log(prefix):
logfile_path = None
number = 0
@@ -118,6 +125,15 @@ def get_log_path(prefix):
number = number + 1
+ link_path = os.path.join(logs_dir, "%s.log" % prefix)
+
+ try:
+ os.unlink(link_path)
+ except OSError:
+ pass
+
+ os.symlink(logfile_path, link_path)
+
return logfile_path