def test_logging_logstash_formatter_version_1(): log_record = LogRecord( name="test_logging_ColoredFormatter_format", level=1, pathname="test/logging", lineno=1, msg="hello world", args=["args1", "args2"], exc_info=None, ) time_stamp = 1_400_000_000 log_record.created = time_stamp formater_base = LogstashFormatterVersion1() hostname = socket.gethostname() data_format = formater_base.format(log_record).decode() data = ujson.loads(data_format) assert data == { "@timestamp": "2014-05-13T16:53:20.000Z", "@version": "1", "message": "hello world", "host": f"{hostname}", "path": "test/logging", "tags": [], "type": "Logstash", "level": "Level 1", "logger_name": "test_logging_ColoredFormatter_format", "stack_info": None, }
def test_logging_async_wrapper_handler(): async_wrapper = AsyncWrapperHandler(handler=HandlerCheck) assert async_wrapper.queue.maxsize == MAX_QUEUE_SIZE log_record_array_inter = [] log_record_array_outer = [] assert not HandlerCheck.check_data async_wrapper.listener.stop() time.sleep(2) for _ in range(80): log_record = LogRecord( name="test_logging_ColoredFormatter_format", level=1, pathname="test/logging", lineno=1, msg="hello world", args=["args1", "args2"], exc_info=None, ) time_stamp = 1_400_000_000 log_record.created = time_stamp log_record_array_inter.append(log_record) async_wrapper.emit(log_record) for _ in range(80): check_enqueue_d = async_wrapper.listener.dequeue(False) log_record_array_outer.append(check_enqueue_d) assert async_wrapper.queue.empty() assert log_record_array_inter == log_record_array_outer
def record(self, app_name): self.record_count += 1 msg = "log msg %r" %(self.record_count, ) record = LogRecord("name", logging.INFO, "x.py", 42, msg, None, None) record.app_name = app_name record.created = 100 + self.record_count record.msecs = 42 return record
def create_log_record(created: float, msg: str) -> LogRecord: record = LogRecord(name=None, level=None, pathname=None, lineno=None, msg=msg, args=None, exc_info=None) record.created = created return record
def create_log_record(name, record_created, level_no, func_name, pathname, lineno, msg): log_record = LogRecord(name=name, levelno=level_no, lineno=lineno, func=func_name, pathname=pathname, msg=msg, level=level_no, args={}, exc_info={}) log_record.created = record_created return log_record
def test_logging_syslog_formatter(): log_record = LogRecord( name="test_logging_ColoredFormatter_format", level=1, pathname="test/logging", lineno=1, msg="hello world", args=["args1", "args2"], exc_info=None, ) timestamp = 1_400_000_000 log_record.created = timestamp log_record.extra_msg = {"extra_msg1": "foo"} formater_base = SyslogFormatter() hostname = socket.getfqdn() formatted_time = datetime.fromtimestamp(timestamp).isoformat(sep=" ") assert ( formater_base.format(log_record).strip() == f"[{formatted_time}] [{hostname}] [Level 1] " "[(test_logging_ColoredFormatter_format) logging:1] " '[null] [hello world] [{"json_extra_msg1":"foo"}]' )
def test_redis_handler(client_redis): handler = AsyncRedisHandler() for _ in range(10): log_record = LogRecord( name="test_logging_ColoredFormatter_format", level=1, pathname="test/logging", lineno=1, msg="hello world", args=["args1", "args2"], exc_info=None, ) time_stamp = 1_400_000_000 log_record.created = time_stamp handler.enqueue(log_record) time.sleep(2) key = client_redis.keys()[0] assert b"logstash" == key vals = client_redis.lrange(key, 0, -1) assert 10 == len(vals)
def test_log_format(mocker): record = LogRecord('foo.bar', INFO, '', 0, 'Message', ['foo', 'bar', 1000], None) record.created = 0 msg = log.JoinFormatter.format(record) assert msg == '1970-01-01T00:00:00Z INFO foo.bar: Message foo bar 1000'