def _create_query_logger(response_log): """Create a logger that will persist incoming query results.""" # Ensures different log files for different # processes in multi worker mode if response_log: # We need to generate a unique file name, # even in multiprocess environments timestamp = datetime.datetime.now().strftime('%Y%m%d-%H%M%S') log_file_name = "rasa_nlu_log-{}-{}.log".format( timestamp, os.getpid()) response_logfile = os.path.join(response_log, log_file_name) # Instantiate a standard python logger, # which we are going to use to log requests utils.create_dir_for_file(response_logfile) query_logger = Logger(observer=jsonFileLogObserver( io.open(response_logfile, 'a', encoding='utf8')), namespace='query-logger') # Prevents queries getting logged with parent logger # --> might log them to stdout logger.info("Logging requests to '{}'.".format(response_logfile)) return query_logger else: # If the user didn't provide a logging directory, we wont log! logger.info("Logging of requests is disabled. " "(No 'request_log' directory configured)") return None
def _create_query_logger(response_log_dir): """Creates a logger that will persist incomming queries and their results.""" # Ensures different log files for different processes in multi worker mode if response_log_dir: # We need to generate a unique file name, even in multiprocess environments timestamp = datetime.datetime.now().strftime('%Y%m%d-%H%M%S') log_file_name = "rasa_nlu_log-{}-{}.log".format( timestamp, os.getpid()) response_logfile = os.path.join(response_log_dir, log_file_name) # Instantiate a standard python logger, which we are going to use to log requests logger = logging.getLogger('query-logger') logger.setLevel(logging.INFO) utils.create_dir_for_file(response_logfile) ch = logging.FileHandler(response_logfile) ch.setFormatter(logging.Formatter('%(message)s')) logger.propagate = False # Prevents queries getting logged with parent logger --> might log them to stdout logger.addHandler(ch) logging.info("Logging requests to '{}'.".format(response_logfile)) return logger else: # If the user didn't provide a logging directory, we wont log! logging.info( "Logging of requests is disabled. (No 'request_log' directory configured)" ) return None
def _create_query_logger(response_log): """Create a logger that will persist incoming query results.""" # Ensures different log files for different # processes in multi worker mode if response_log: # We need to generate a unique file name, # even in multiprocess environments timestamp = datetime.datetime.now().strftime('%Y%m%d-%H%M%S') log_file_name = "rasa_nlu_log-{}-{}.log".format(timestamp, os.getpid()) response_logfile = os.path.join(response_log, log_file_name) # Instantiate a standard python logger, # which we are going to use to log requests utils.create_dir_for_file(response_logfile) out_file = io.open(response_logfile, 'a', encoding='utf8') query_logger = Logger( observer=jsonFileLogObserver(out_file, recordSeparator=''), namespace='query-logger') # Prevents queries getting logged with parent logger # --> might log them to stdout logger.info("Logging requests to '{}'.".format(response_logfile)) return query_logger else: # If the user didn't provide a logging directory, we wont log! logger.info("Logging of requests is disabled. " "(No 'request_log' directory configured)") return None
def _create_query_logger(response_log_dir): """Creates a logger that will persist incomming queries and their results.""" # Ensures different log files for different processes in multi worker mode if response_log_dir: # We need to generate a unique file name, even in multiprocess environments timestamp = datetime.datetime.now().strftime('%Y%m%d-%H%M%S') log_file_name = "rasa_nlu_log-{}-{}.log".format(timestamp, os.getpid()) response_logfile = os.path.join(response_log_dir, log_file_name) # Instantiate a standard python logger, which we are going to use to log requests query_logger = logging.getLogger('query-logger') query_logger.setLevel(logging.INFO) utils.create_dir_for_file(response_logfile) ch = logging.FileHandler(response_logfile) ch.setFormatter(logging.Formatter('%(message)s')) # Prevents queries getting logged with parent logger --> might log them to stdout query_logger.propagate = False query_logger.addHandler(ch) logger.info("Logging requests to '{}'.".format(response_logfile)) return query_logger else: # If the user didn't provide a logging directory, we wont log! logger.info("Logging of requests is disabled. (No 'request_log' directory configured)") return None