[llvm-commits] [zorg] r125917 - in /zorg/trunk/llvmlab/llvmlab: ci/status.py llvmlabtool/lab.cfg.sample llvmlabtool/main.py ui/app.py

Daniel Dunbar daniel at zuster.org
Fri Feb 18 08:43:37 PST 2011


Author: ddunbar
Date: Fri Feb 18 10:43:37 2011
New Revision: 125917

URL: http://llvm.org/viewvc/llvm-project?rev=125917&view=rev
Log:
llvmlab: Enable file/mail error logging.

Modified:
    zorg/trunk/llvmlab/llvmlab/ci/status.py
    zorg/trunk/llvmlab/llvmlab/llvmlabtool/lab.cfg.sample
    zorg/trunk/llvmlab/llvmlab/llvmlabtool/main.py
    zorg/trunk/llvmlab/llvmlab/ui/app.py

Modified: zorg/trunk/llvmlab/llvmlab/ci/status.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/llvmlab/llvmlab/ci/status.py?rev=125917&r1=125916&r2=125917&view=diff
==============================================================================
--- zorg/trunk/llvmlab/llvmlab/ci/status.py (original)
+++ zorg/trunk/llvmlab/llvmlab/ci/status.py Fri Feb 18 10:43:37 2011
@@ -96,8 +96,7 @@
                                 build.number < builds[-2].number):
                                 builds.sort(key = lambda b: b.number)
                 else:
-                    # FIXME: Use flask logging APIs.
-                    print >>sys.stderr,"warning: unknown event '%r'" % (event,)
+                    self.app.logger.warning("unknown event '%r'" % (event,))
 
                 # FIXME: Don't save this frequently, we really just want to
                 # checkpoint and make sure we save on restart.

Modified: zorg/trunk/llvmlab/llvmlab/llvmlabtool/lab.cfg.sample
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/llvmlab/llvmlab/llvmlabtool/lab.cfg.sample?rev=125917&r1=125916&r2=125917&view=diff
==============================================================================
--- zorg/trunk/llvmlab/llvmlab/llvmlabtool/lab.cfg.sample (original)
+++ zorg/trunk/llvmlab/llvmlab/llvmlabtool/lab.cfg.sample Fri Feb 18 10:43:37 2011
@@ -13,6 +13,10 @@
 # Should server run in debug mode?
 DEBUG = %(debug_server)r
 
+# Email configuration.
+EMAIL_RELAY_SERVER = 'localhost'
+MAIL_ERRORS = True
+
 # Secret key for this server instance.
 SECRET_KEY = %(secret_key)r
 
@@ -21,3 +25,6 @@
 
 # Path to the buildbot status file.
 STATUS_PATH = %(status_path)r
+
+# Path to the error log.
+ERROR_LOG_PATH = %(error_log_path)r

Modified: zorg/trunk/llvmlab/llvmlab/llvmlabtool/main.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/llvmlab/llvmlab/llvmlabtool/main.py?rev=125917&r1=125916&r2=125917&view=diff
==============================================================================
--- zorg/trunk/llvmlab/llvmlab/llvmlabtool/main.py (original)
+++ zorg/trunk/llvmlab/llvmlab/llvmlabtool/main.py Fri Feb 18 10:43:37 2011
@@ -69,6 +69,7 @@
     cfg_path = os.path.join(basepath, 'lab.cfg')
     data_path = os.path.join(basepath, 'lab-data.json')
     status_path = os.path.join(basepath, 'lab-status.json')
+    error_log_path = os.path.join(basepath, 'error.log')
 
     if not os.path.exists(basepath):
         try:
@@ -101,6 +102,7 @@
     cfg_options['secret_key'] = secret_key
     cfg_options['data_path'] = data_path
     cfg_options['status_path'] = status_path
+    cfg_options['error_log_path'] = error_log_path
     cfg_data = sample_cfg_data % cfg_options
 
     # Write the initial config file.

Modified: zorg/trunk/llvmlab/llvmlab/ui/app.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/llvmlab/llvmlab/ui/app.py?rev=125917&r1=125916&r2=125917&view=diff
==============================================================================
--- zorg/trunk/llvmlab/llvmlab/ui/app.py (original)
+++ zorg/trunk/llvmlab/llvmlab/ui/app.py Fri Feb 18 10:43:37 2011
@@ -1,4 +1,6 @@
 import hashlib
+import logging
+import logging.handlers
 import os
 
 import flask
@@ -23,6 +25,19 @@
         # Load the application configuration.
         app.load_config(config, config_path)
 
+        # Configure error logging.
+        handler = logging.FileHandler(app.config['ERROR_LOG_PATH'])
+        handler.setLevel(logging.WARNING)
+        app.logger.addHandler(handler)
+        
+        # Configure error emails, if requested.
+        if app.config['MAIL_ERRORS']:
+            handler = logging.handlers.SMTPHandler(
+                app.config['EMAIL_RELAY_SERVER'], app.config['ADMIN_EMAIL'],
+                app.config['ADMIN_EMAIL'], 'LLVM Lab Failure')
+            handler.setLevel(logging.ERROR)
+            app.logger.addHandler(handler)
+
         # Load the database.
         app.load_data(data)
 
@@ -56,6 +71,8 @@
             "ADMIN_NAME" : "Administrator",
             "ADMIN_EMAIL" : "admin at example.com",
             "DEBUG" : True,
+            "EMAIL_RELAY_SERVER" : "localhost",
+            "MAIL_ERRORS" : False,
             "SECRET_KEY" : secret_key,
             "DATA_PATH" : None,
             "STATUS_PATH" : None }





More information about the llvm-commits mailing list