Added microsecond precision to fluentd records

Change-Id: I46cbb357ca63b5cadf4e280f3e02ddc5384d3a37
This commit is contained in:
Kerim Gokarslan 2017-09-05 19:55:33 -07:00
parent 9bd762708c
commit 6e3f86db3a
1 changed files with 12 additions and 3 deletions

View File

@ -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")