|
|
|
@ -1,11 +1,9 @@ |
|
|
|
|
#!/usr/bin/env python3 |
|
|
|
|
import os |
|
|
|
|
import argparse |
|
|
|
|
import json |
|
|
|
|
|
|
|
|
|
import cereal.messaging as messaging |
|
|
|
|
from openpilot.tools.lib.logreader import LogReader |
|
|
|
|
from openpilot.tools.lib.route import Route |
|
|
|
|
from openpilot.tools.lib.srreader import SegmentRangeReader |
|
|
|
|
|
|
|
|
|
LEVELS = { |
|
|
|
|
"DEBUG": 10, |
|
|
|
@ -53,31 +51,18 @@ if __name__ == "__main__": |
|
|
|
|
parser.add_argument("route", type=str, nargs='*', help="route name + segment number for offline usage") |
|
|
|
|
args = parser.parse_args() |
|
|
|
|
|
|
|
|
|
logs = None |
|
|
|
|
if len(args.route): |
|
|
|
|
if os.path.exists(args.route[0]): |
|
|
|
|
logs = [args.route[0]] |
|
|
|
|
else: |
|
|
|
|
r = Route(args.route[0]) |
|
|
|
|
logs = [q_log if r_log is None else r_log for (q_log, r_log) in zip(r.qlog_paths(), r.log_paths(), strict=True)] |
|
|
|
|
|
|
|
|
|
if len(args.route) == 2 and logs: |
|
|
|
|
n = int(args.route[1]) |
|
|
|
|
logs = [logs[n]] |
|
|
|
|
|
|
|
|
|
min_level = LEVELS[args.level] |
|
|
|
|
|
|
|
|
|
if logs: |
|
|
|
|
for log in logs: |
|
|
|
|
if log: |
|
|
|
|
lr = LogReader(log) |
|
|
|
|
for m in lr: |
|
|
|
|
if m.which() == 'logMessage': |
|
|
|
|
print_logmessage(m.logMonoTime, m.logMessage, min_level) |
|
|
|
|
elif m.which() == 'errorLogMessage' and 'qlog' in log: |
|
|
|
|
print_logmessage(m.logMonoTime, m.errorLogMessage, min_level) |
|
|
|
|
elif m.which() == 'androidLog': |
|
|
|
|
print_androidlog(m.logMonoTime, m.androidLog) |
|
|
|
|
if args.route: |
|
|
|
|
for route in args.route: |
|
|
|
|
lr = SegmentRangeReader(route) |
|
|
|
|
for m in lr: |
|
|
|
|
if m.which() == 'logMessage': |
|
|
|
|
print_logmessage(m.logMonoTime, m.logMessage, min_level) |
|
|
|
|
elif m.which() == 'errorLogMessage': |
|
|
|
|
print_logmessage(m.logMonoTime, m.errorLogMessage, min_level) |
|
|
|
|
elif m.which() == 'androidLog': |
|
|
|
|
print_androidlog(m.logMonoTime, m.androidLog) |
|
|
|
|
else: |
|
|
|
|
sm = messaging.SubMaster(['logMessage', 'androidLog'], addr=args.addr) |
|
|
|
|
while True: |
|
|
|
|