[autotest] RPC logging server
frontend.afe.rpc_handler is not logging RPC logs correctly
due to multi apache processes.
We should have a daemon that receives log records from the
apache processes and writes them in a chronological order.
BUG=chromium:490897
TEST=Run dummy suite on local machine.
DEPLOY=apache
Change-Id: If53667720922d0db248225d17b9e5a31d350f063
Reviewed-on: https://chromium-review.googlesource.com/274827
Reviewed-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Tested-by: Mungyung Ryu <mkryu@google.com>
Commit-Queue: Mungyung Ryu <mkryu@google.com>
diff --git a/frontend/afe/rpcserver_logging.py b/frontend/afe/rpcserver_logging.py
index a8523fb..f181672 100644
--- a/frontend/afe/rpcserver_logging.py
+++ b/frontend/afe/rpcserver_logging.py
@@ -1,29 +1,23 @@
import logging, logging.handlers, time, os
import common
from autotest_lib.client.common_lib import global_config
+from autotest_lib.site_utils import rpc_logserver
config = global_config.global_config
LOGGING_ENABLED = config.get_config_value('SERVER', 'rpc_logging', type=bool)
-MEGABYTE = 1024 * 1024
-
rpc_logger = None
-def configure_logging():
- MAX_LOG_SIZE = config.get_config_value('SERVER', 'rpc_max_log_size_mb',
- type=int)
- NUMBER_OF_OLD_LOGS = config.get_config_value('SERVER', 'rpc_num_old_logs',
- type=int)
- log_path = config.get_config_value('SERVER', 'rpc_log_path')
- formatter = logging.Formatter(
- fmt='[%(asctime)s %(levelname)-5.5s] %(message)s',
- datefmt='%m/%d %H:%M:%S')
- handler = logging.handlers.RotatingFileHandler(log_path,
- maxBytes=MAX_LOG_SIZE*MEGABYTE,
- backupCount=NUMBER_OF_OLD_LOGS)
- handler.setFormatter(formatter)
+def configure_logging():
+ logserver_enabled = config.get_config_value(
+ 'SERVER', 'rpc_logserver', type=bool)
+ if logserver_enabled:
+ handler = logging.handlers.SocketHandler(
+ 'localhost', rpc_logserver.DEFAULT_PORT)
+ else:
+ handler = rpc_logserver.get_logging_handler()
global rpc_logger
rpc_logger = logging.getLogger('rpc_logger')