Index: recipes.py |
diff --git a/recipes.py b/recipes.py |
index e839b59f78cd7011e2bab640b09aa978d2ee863a..b522c4aacb767d1c928c6d9a2516f2d5b70b2a43 100755 |
--- a/recipes.py |
+++ b/recipes.py |
@@ -91,6 +91,7 @@ def run(package_deps, args, op_args): |
from recipe_engine import loader |
from recipe_engine import step_runner |
from recipe_engine import stream |
+ from recipe_engine import stream_logdog |
def get_properties_from_args(args): |
properties = dict(x.split('=', 1) for x in args) |
@@ -151,12 +152,36 @@ def run(package_deps, args, op_args): |
old_cwd = os.getcwd() |
os.chdir(workdir) |
- stream_engine = stream.ProductStreamEngine( |
- stream.StreamEngineInvariants(), |
- stream.AnnotatorStreamEngine( |
+ |
+ # Construct our stream engine. |
+ # |
+ # We begin with a ProductStreamEngine seeded with StreamEngineInvariants. As |
+ # we evaluate our configuration, we will append additional StreamEngine |
+ # instances to the ProductStreamEngine. |
+ stream_engine = stream.ProductStreamEngine(stream.StreamEngineInvariants()) |
+ |
+ def build_annotation_stream_engine(): |
+ return stream.AnnotatorStreamEngine( |
sys.stdout, |
emit_timestamps=(args.timestamps or |
- op_args.annotation_flags.emit_timestamp))) |
+ op_args.annotation_flags.emit_timestamp), |
+ ) |
+ |
+ if op_args.logdog.streamserver_uri: |
+ # We're using LogDog. |
martiniss
2016/09/01 21:59:48
add some logging?
dnj
2016/09/07 17:54:58
Done.
|
+ stream_engine.append_stream_engine(stream_logdog.StreamEngine( |
+ streamserver_uri=op_args.logdog.streamserver_uri, |
+ name_base=(op_args.logdog.name_base or None), |
+ annotation_name=(op_args.logdog.annotation_name or None), |
+ )) |
+ |
+ # If we're teeing, also fold in a standard annotation stream engine. |
+ if op_args.logdog.tee: |
+ stream_engine.append_stream_engine(build_annotation_stream_engine()) |
+ else: |
+ # Not using LogDog; use a standard annotation stream engine. |
+ stream_engine.append_stream_engine(build_annotation_stream_engine()) |
+ |
with stream_engine: |
# Emit initial properties if configured to do so. |
if op_args.annotation_flags.emit_initial_properties: |