def _initialize_event_handler(self): # only output raw log message -- no timestamp or log level event_handler = self._get_event_handler() event_handler.format_string = '{record.message}' handler = TaggingHandler( {'event': event_handler}, bubble=True, ) handler.push_application()
def initialize(eventlog_file=None): """ Initialize the analytics output. This will cause analytics events to be output to either a file or stdout. If this function is not called, analytics events will not be output. If it is called with a filename, the events will be output to that file. If it is called with 'STDOUT' or None, the events will be output to stdout. :param eventlog_file: The filename to output events to, 'STDOUT' to output to stdout, None to disable event logging :type eventlog_file: str | None """ global _analytics_logger, _eventlog_file _eventlog_file = eventlog_file if not eventlog_file: _analytics_logger = None return if eventlog_file.upper() == 'STDOUT': event_handler = StreamHandler(sys.stdout) else: fs.create_dir(os.path.dirname(eventlog_file)) previous_log_file_exists = os.path.exists(eventlog_file) event_handler = RotatingFileHandler( filename=eventlog_file, max_size=Configuration['max_eventlog_file_size'], backup_count=Configuration['max_eventlog_file_backups'], ) if previous_log_file_exists: event_handler.perform_rollover( ) # force starting a new eventlog file on application startup event_handler.format_string = '{record.message}' # only output raw log message -- no timestamp or log level handler = TaggingHandler( {'event': event_handler }, # enable logging to the event_handler with the event() method bubble=True, ) handler.push_application() _analytics_logger = TaggingLogger('analytics', ['event'])
def initialize(eventlog_file=None): """ Initialize the analytics output. This will cause analytics events to be output to either a file or stdout. If this function is not called, analytics events will not be output. If it is called with a filename, the events will be output to that file. If it is called with 'STDOUT' or None, the events will be output to stdout. :param eventlog_file: The filename to output events to, 'STDOUT' to output to stdout, None to disable event logging :type eventlog_file: str | None """ global _analytics_logger, _eventlog_file _eventlog_file = eventlog_file if not eventlog_file: _analytics_logger = None return if eventlog_file.upper() == 'STDOUT': event_handler = StreamHandler(sys.stdout) else: fs.create_dir(os.path.dirname(eventlog_file)) previous_log_file_exists = os.path.exists(eventlog_file) event_handler = RotatingFileHandler( filename=eventlog_file, max_size=Configuration['max_eventlog_file_size'], backup_count=Configuration['max_eventlog_file_backups'], ) if previous_log_file_exists: event_handler.perform_rollover() # force starting a new eventlog file on application startup event_handler.format_string = '{record.message}' # only output raw log message -- no timestamp or log level handler = TaggingHandler( {'event': event_handler}, # enable logging to the event_handler with the event() method bubble=True, ) handler.push_application() _analytics_logger = TaggingLogger('analytics', ['event'])