Announcing DogLog - Simpler logging for FRC

WPILib ships the DataLog Tool which is essentially an SSH client for transferring log files. I’ve found it to be slower, but it depends on where the USB drive is.

1 Like

Adding here that AdvantageScope has a GUI to easily pull log files from your robot as long as you give it the save directory.

2 Likes

I spent some time one summer meeting working on a method that would allow us to connect to the Rio and remove the wedged USB mount after removing the drive, remount it at the appropriate place, etc., without restarting anything more than the robot code (because before that the students were going so far as to power the robot off). I set it aside for the time being because it was a little finicky, and required the right order of operations, which I thought was too error-prone. I never even considered automating downloading the files instead. :man_facepalming:

It’s totally within my wheelhouse, and a good example to show the students how something works, to have a one-click solution that’ll connect to the robot and download the latest logs. We’ll give ourselves bonus points if we find a way to get rsync involved (which again would also be good exposure for the students).

That’s still not 100% the same as viewing all the data live, but much more useful than pulling the drive, viewing the data, replacing the drive, and restarting. Thanks for the idea!

2 Likes

The docs list three ways to download files remotely, datalogtool and Advantage Scope that have already been mentioned. There’s also the Driver Station.

2 Likes

@jonahsnider Any idea if DogLog woud be able to suport radio status logging in the future like akit? Radio info seems like it woud be quite useful.

1 Like

DogLog v2025.2.0 is now available!

This minor update introduces a few new features as well as improved performance & stability.

Automatic radio status logging

Extras logging now periodically polls the VH-109 radio for its status, and logs it to the Robot/RadioStatus key.

Extras logging is enabled by default, so most users will benefit from this new functionality without any additional setup work!

Reduce logging overhead

DogLog continues to get faster, this time by reducing the overhead from having extras logging enabled. Data fetching for extras logging has been moved to a separate thread, ensuring your robot code runs as smoothly as possible during matches.

Additional changes

  • DogLog’s NetworkTables publishing functionality has been updated to ensure that timestamps are identical between the WPILOG and the published data on NT4
  • Logging strings has been updated to support providing a custom type (ex. json)
    • DogLog.log("Example", "{ ... }", "json")
12 Likes