xbuddy: add a flag to control cherrypy logging on screen

Add a log_screen argument in XBuddy constructor. When it is set
to false, cherrypy config will be updated with log.screen set to
false. This allows xbuddy to be used by other programs (like cros
flash) which can specifically turn off screen logging of xbuddy.

BUG=chromium:422139
TEST=Manually tested

Change-Id: I081ca2c5c96b201aaed3dfc5651198c1a15bb218
Reviewed-on: https://chromium-review.googlesource.com/230282
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Yu-Ju Hong <yjhong@chromium.org>
Tested-by: Yiming Chen <yimingc@chromium.org>
Commit-Queue: Yiming Chen <yimingc@chromium.org>
diff --git a/xbuddy.py b/xbuddy.py
index 936b8b1..6558bfb 100644
--- a/xbuddy.py
+++ b/xbuddy.py
@@ -4,6 +4,7 @@
 
 """Main module for parsing and interpreting XBuddy paths for the devserver."""
 
+import cherrypy
 import ConfigParser
 import datetime
 import operator
@@ -177,9 +178,12 @@
   _staging_thread_count_lock = threading.Lock()
 
   def __init__(self, manage_builds=False, board=None, images_dir=None,
-               **kwargs):
+               log_screen=True, **kwargs):
     super(XBuddy, self).__init__(**kwargs)
 
+    if not log_screen:
+      cherrypy.config.update({'log.screen': False})
+
     self.config = self._ReadConfig()
     self._manage_builds = manage_builds or self._ManageBuilds()
     self._board = board