from datetime import datetime
from fluent import sender
import logging
+import pytz
class FluentLogHandler(logging.Handler):
data = {
"runlogdate": self.runlogdate,
"loglevel": record.levelname,
- "message": self.formatter.format(record)
+ "message": self.formatter.format(record),
+ "@timestamp": self.__get_timestamp()
}
self.__update_stats(record.levelno)
self.sender.emit(None, data)
"message": "NFVBENCH run is started",
"numloglevel": 0,
"numerrors": 0,
- "numwarnings": 0
+ "numwarnings": 0,
+ "@timestamp": self.__get_timestamp()
}
self.sender.emit(None, data)
"message": self.__get_highest_level_desc(),
"numloglevel": self.__get_highest_level(),
"numerrors": self.__error_counter,
- "numwarnings": self.__warning_counter
+ "numwarnings": self.__warning_counter,
+ "@timestamp": self.__get_timestamp()
}
self.sender.emit(None, data)
self.__warning_counter += 1
elif levelno == logging.ERROR:
self.__error_counter += 1
+
+ def __get_timestamp(self):
+ return datetime.utcnow().replace(tzinfo=pytz.utc).strftime(
+ "%Y-%m-%dT%H:%M:%S.%f%z")