summaryrefslogtreecommitdiff
path: root/buildscripts/resmokelib/logging/jasper_logger.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/resmokelib/logging/jasper_logger.py')
-rw-r--r--buildscripts/resmokelib/logging/jasper_logger.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/buildscripts/resmokelib/logging/jasper_logger.py b/buildscripts/resmokelib/logging/jasper_logger.py
new file mode 100644
index 00000000000..abc3269b734
--- /dev/null
+++ b/buildscripts/resmokelib/logging/jasper_logger.py
@@ -0,0 +1,38 @@
+"""Jasper logging handlers and helpers."""
+
+import os
+
+from buildscripts.resmokelib import config
+
+
+def get_logger_config(group_id="", test_id="", process_name=""):
+ """Return the jasper logger config."""
+
+ import jasper.jasper_pb2 as pb
+
+ username = os.getenv("CEDAR_USERNAME", default="")
+ api_key = os.getenv("CEDAR_API_KEY", default="")
+
+ logger_config = pb.LoggerConfig()
+ log_level = pb.LogLevel(threshold=30, default=30)
+ log_format = pb.LogFormat.Value("LOGFORMATPLAIN")
+
+ if config.EVERGREEN_TASK_ID and group_id:
+ buildlogger_info = pb.BuildloggerV3Info(
+ project=config.EVERGREEN_PROJECT_NAME, version=config.EVERGREEN_VERSION_ID,
+ variant=config.EVERGREEN_VARIANT_NAME, task_name=config.EVERGREEN_TASK_NAME,
+ task_id=config.EVERGREEN_TASK_ID, execution=config.EVERGREEN_EXECUTION,
+ test_name=str(test_id), process_name=process_name, format=log_format, tags=[
+ str(group_id)
+ ], base_address=config.CEDAR_URL, rpc_port=config.CEDAR_RPC_PORT, username=username,
+ api_key=api_key)
+ buildlogger_options = pb.BuildloggerV3Options(buildloggerv3=buildlogger_info,
+ level=log_level)
+ logger_config.buildloggerv3.CopyFrom(buildlogger_options)
+ else:
+ buffered = pb.BufferOptions()
+ base_opts = pb.BaseOptions(format=log_format, level=log_level, buffer=buffered)
+ log_opts = pb.DefaultLoggerOptions(base=base_opts)
+ logger_config.default.CopyFrom(log_opts)
+
+ return logger_config