jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/346586 )
Change subject: Mirror child process output to console
......................................................................
Mirror child process output to console
Bug: T162294
Change-Id: I79184671e345253c165d87cc5732d0b57a4b5896
---
M processcontrol/output_streamer.py
1 file changed, 16 insertions(+), 4 deletions(-)
Approvals:
jenkins-bot: Verified
Ejegg: Looks good to me, approved
diff --git a/processcontrol/output_streamer.py
b/processcontrol/output_streamer.py
index 89d659e..4735580 100644
--- a/processcontrol/output_streamer.py
+++ b/processcontrol/output_streamer.py
@@ -1,5 +1,7 @@
+import logging
import logging.config
import os
+import sys
import threading
from . import config
@@ -31,6 +33,7 @@
self.filename = make_logfile_path(slug, start_time)
self.logger = None
self.threads = {}
+ self.log_handlers = []
def start(self):
self.init_logger()
@@ -66,11 +69,18 @@
self.logger = logging.getLogger(self.slug)
self.logger.setLevel(logging.INFO)
- self.log_file_handler = logging.FileHandler(self.filename)
+ log_file_handler = logging.FileHandler(self.filename)
formatter =
logging.Formatter("%(asctime)s\t%(levelname)s\t%(message)s")
- self.log_file_handler.setFormatter(formatter)
+ log_file_handler.setFormatter(formatter)
- self.logger.addHandler(self.log_file_handler)
+ self.log_handlers.append(log_file_handler)
+ self.logger.addHandler(log_file_handler)
+
+ if sys.stdout.isatty():
+ # Mirror to the console if run interactively.
+ console_handler = logging.StreamHandler(sys.stdout)
+ self.log_handlers.append(console_handler)
+ self.logger.addHandler(console_handler)
# FIXME: gets written for each subprocess, so the name=slug is not
# quite right. Should be the commandline?
@@ -85,4 +95,6 @@
# FIXME: sorry, I don't know what else to do. If we keep adding file
# handlers, we're in hot soup.
- self.logger.removeHandler(self.log_file_handler)
+ for handler in self.log_handlers:
+ self.logger.removeHandler(handler)
+ self.log_handlers = []
--
To view, visit https://gerrit.wikimedia.org/r/346586
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I79184671e345253c165d87cc5732d0b57a4b5896
Gerrit-PatchSet: 8
Gerrit-Project: wikimedia/fundraising/process-control
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
Gerrit-Reviewer: Awight <[email protected]>
Gerrit-Reviewer: Cdentinger <[email protected]>
Gerrit-Reviewer: Ejegg <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits