Logging - northern-bites/nbites GitHub Wiki

Practical stuff

THIS IS THE OLD SYSTEM THAT WE DON'T USE ANYMORE.

To take a log you must:

  1. Have USE_LOGGING set to on when you make cross. Press c with logging on to see the logging options, and select which logs you want to take.

  2. Copy over the entire ~/nbites/log folder off the robot into a local directory (preferably nbites/data/logs/ for easy syncing to the robocup server):

        scp -r nao@[robot address]:~/nbites/log [destination path]
    

(for more information about scp, click here)

  1. Use the tool and browse for the directory; double clicking on it should open the log for viewing

How it works

Lizzie Mamantov wrote a RoboGrams module that allows us to easily log data generated by modules in our system. The class is templated (and beautiful), so that it can log any legal protobuf out of the box. It can also log images (which aren't protobufs). Yay, template specialization!

It uses AIO, so that we queue writes, then immediately return, rather than having to block. See the following for more info: http://www.ibm.com/developerworks/library/l-async/