2019-10-09 18:43:53 +00:00
|
|
|
#!/usr/bin/env python3
|
2016-11-29 18:34:21 -08:00
|
|
|
import zmq
|
|
|
|
|
from logentries import LogentriesHandler
|
|
|
|
|
import selfdrive.messaging as messaging
|
|
|
|
|
|
2019-06-28 21:11:30 +00:00
|
|
|
def main(gctx=None):
|
2016-11-29 18:34:21 -08:00
|
|
|
# setup logentries. we forward log messages to it
|
2017-01-11 13:07:55 -08:00
|
|
|
le_token = "e8549616-0798-4d7e-a2ca-2513ae81fa17"
|
2017-06-28 13:57:09 -07:00
|
|
|
le_handler = LogentriesHandler(le_token, use_tls=False, verbose=False)
|
2016-11-29 18:34:21 -08:00
|
|
|
|
|
|
|
|
le_level = 20 #logging.INFO
|
|
|
|
|
|
2019-06-28 21:11:30 +00:00
|
|
|
ctx = zmq.Context().instance()
|
2016-11-29 18:34:21 -08:00
|
|
|
sock = ctx.socket(zmq.PULL)
|
|
|
|
|
sock.bind("ipc:///tmp/logmessage")
|
|
|
|
|
|
|
|
|
|
# and we publish them
|
2019-10-31 17:14:40 -07:00
|
|
|
pub_sock = messaging.pub_sock('logMessage')
|
2016-11-29 18:34:21 -08:00
|
|
|
|
|
|
|
|
while True:
|
2019-10-09 18:43:53 +00:00
|
|
|
dat = b''.join(sock.recv_multipart())
|
|
|
|
|
dat = dat.decode('utf8')
|
2016-11-29 18:34:21 -08:00
|
|
|
|
|
|
|
|
# print "RECV", repr(dat)
|
|
|
|
|
|
|
|
|
|
levelnum = ord(dat[0])
|
|
|
|
|
dat = dat[1:]
|
|
|
|
|
|
|
|
|
|
if levelnum >= le_level:
|
|
|
|
|
# push to logentries
|
2019-06-06 04:38:45 +00:00
|
|
|
# TODO: push to athena instead
|
2016-11-29 18:34:21 -08:00
|
|
|
le_handler.emit_raw(dat)
|
|
|
|
|
|
|
|
|
|
# then we publish them
|
|
|
|
|
msg = messaging.new_message()
|
|
|
|
|
msg.logMessage = dat
|
|
|
|
|
pub_sock.send(msg.to_bytes())
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2019-06-28 21:11:30 +00:00
|
|
|
main()
|