showard | 02ed4bd | 2009-09-09 15:30:11 +0000 | [diff] [blame] | 1 | import logging, logging.handlers, time, os |
| 2 | import common |
| 3 | from autotest_lib.client.common_lib import global_config |
| 4 | |
| 5 | |
| 6 | config = global_config.global_config |
showard | 5786191 | 2009-09-09 21:02:10 +0000 | [diff] [blame] | 7 | _LOGGING_ENABLED = config.get_config_value('SERVER', 'rpc_logging', type=bool) |
showard | 02ed4bd | 2009-09-09 15:30:11 +0000 | [diff] [blame] | 8 | |
| 9 | MEGABYTE = 1024 * 1024 |
| 10 | |
| 11 | rpc_logger = None |
| 12 | |
| 13 | def configure_logging(): |
| 14 | MAX_LOG_SIZE = config.get_config_value('SERVER', 'rpc_max_log_size_mb', |
| 15 | type=int) |
| 16 | NUMBER_OF_OLD_LOGS = config.get_config_value('SERVER', 'rpc_num_old_logs') |
| 17 | log_path = config.get_config_value('SERVER', 'rpc_log_path') |
| 18 | |
| 19 | formatter = logging.Formatter( |
| 20 | fmt='[%(asctime)s %(levelname)-5.5s] %(message)s', |
| 21 | datefmt='%m/%d %H:%M:%S') |
| 22 | handler = logging.handlers.RotatingFileHandler(log_path, |
| 23 | maxBytes=MAX_LOG_SIZE*MEGABYTE, |
| 24 | backupCount=NUMBER_OF_OLD_LOGS) |
| 25 | handler.setFormatter(formatter) |
| 26 | |
| 27 | global rpc_logger |
| 28 | rpc_logger = logging.getLogger('rpc_logger') |
| 29 | rpc_logger.addHandler(handler) |
| 30 | rpc_logger.propagate = False |
| 31 | rpc_logger.setLevel(logging.DEBUG) |
| 32 | |
| 33 | |
| 34 | if _LOGGING_ENABLED: |
| 35 | configure_logging() |