            print(f"[{t / 1e9:.6f}] {log['filename']}:{log.get('lineno', '')} - {log.get('funcname', '')}: {log['msg']}")
        except json.decoder.JSONDecodeError:
          print(f"[{t / 1e9:.6f}] decode error: {sm['logMessage']}")
  
      if sm.updated['androidLogEntry']:
        t = sm.logMonoTime['androidLogEntry']
        m = sm['androidLogEntry']
        source = ANDROID_LOG_SOURCE[m.id]
        print(f"[{t / 1e9:.6f}] {source} {m.pid} {m.tag} - {m.message}")
 
</s> remove   sm = messaging.SubMaster(['logMessage', 'androidLogEntry'], addr=args.addr)
 </s> add   sm = messaging.SubMaster(['logMessage', 'androidLog'], addr=args.addr) </s> remove   PubSocket * androidLog = PubSocket::create(c, "androidLogEntry");
 </s> add   PubSocket * androidLog = PubSocket::create(c, "androidLog");
    if sm.updated['androidLog']:
      t = sm.logMonoTime['androidLog']
      m = sm['androidLog']
            print(f"[{t / 1e9:.6f}] {log['filename']}:{log.get('lineno', '')} - {log.get('funcname', '')}: {log['msg']}")
        except json.decoder.JSONDecodeError:
          print(f"[{t / 1e9:.6f}] decode error: {sm['logMessage']}")
  
    if sm.updated['androidLog']:
      t = sm.logMonoTime['androidLog']
      m = sm['androidLog']
    if sm.updated['androidLog']:
      t = sm.logMonoTime['androidLog']
      m = sm['androidLog']
    if sm.updated['androidLog']:
      t = sm.logMonoTime['androidLog']
      m = sm['androidLog']
        source = ANDROID_LOG_SOURCE[m.id]
        print(f"[{t / 1e9:.6f}] {source} {m.pid} {m.tag} - {m.message}")
keep keep keep keep replace replace replace keep keep
 rename event name instead of service 
selfdrive/debug/filter_log_message.py