diff --git a/vmtp/fluentd.py b/vmtp/fluentd.py index a130e94..f55a4c6 100644 --- a/vmtp/fluentd.py +++ b/vmtp/fluentd.py @@ -15,6 +15,7 @@ from datetime import datetime from fluent import sender import logging +import pytz class FluentLogHandler(logging.Handler): @@ -51,7 +52,9 @@ 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) @@ -64,7 +67,8 @@ class FluentLogHandler(logging.Handler): "message": "VMTP run is started", "numloglevel": 0, "numerrors": 0, - "numwarnings": 0 + "numwarnings": 0, + "@timestamp": self.__get_timestamp() } self.sender.emit(None, data) @@ -77,7 +81,8 @@ class FluentLogHandler(logging.Handler): "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) @@ -102,3 +107,7 @@ class FluentLogHandler(logging.Handler): 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")