def setup_handlers(): port = __opts__["runtests_log_port"] sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: sock.connect(("localhost", port)) except OSError as exc: if exc.errno == errno.ECONNREFUSED: log.warning("Failed to connect to log server") return finally: try: sock.shutdown(socket.SHUT_RDWR) except OSError: pass sock.close() # One million log messages is more than enough to queue. # Above that value, if `process_queue` can't process fast enough, # start dropping. This will contain a memory leak in case `process_queue` # can't process fast enough of in case it can't deliver the log records at all. if is_darwin(): queue_size = 32767 else: queue_size = 10000000 queue = Queue(queue_size) handler = salt.log.setup.QueueHandler(queue) level = salt.log.setup.LOG_LEVELS[ (__opts__.get("runtests_log_level") or "error").lower() ] handler.setLevel(level) process_queue_thread = threading.Thread(target=process_queue, args=(port, queue)) process_queue_thread.daemon = True process_queue_thread.start() return handler
def setup_handlers(): port = __opts__['runtests_log_port'] sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: sock.connect(('localhost', port)) except socket.error as exc: if exc.errno == errno.ECONNREFUSED: log.warning('Failed to connect to log server') return finally: try: sock.shutdown(socket.SHUT_RDWR) except OSError: pass sock.close() if is_darwin(): queue_size = 32767 else: queue_size = 10000000 queue = Queue(queue_size) handler = salt.log.setup.QueueHandler(queue) level = salt.log.setup.LOG_LEVELS[(__opts__.get('runtests_log_level') or 'error').lower()] handler.setLevel(level) process_queue_thread = threading.Thread(target=process_queue, args=(port, queue)) process_queue_thread.daemon = True process_queue_thread.start() return handler
def get_name(**kwargs): if _platform.is_windows(): return 'windows' elif _platform.is_darwin(): return 'osx' elif _platform.is_linux(): return 'linux' return ''
def get_multiprocessing_logging_queue(): global __MP_LOGGING_QUEUE from salt.utils.platform import is_darwin if __MP_IN_MAINPROCESS is False: # We're not in the MainProcess, return! No Queue shall be instantiated return __MP_LOGGING_QUEUE if __MP_LOGGING_QUEUE is None: if is_darwin(): __MP_LOGGING_QUEUE = multiprocessing.Queue(32767) else: __MP_LOGGING_QUEUE = multiprocessing.Queue(100000) return __MP_LOGGING_QUEUE