Skip to content
No description, website, or topics provided.
C++ CMake C Shell
Branch: master
Clone or download
g3force Merge pull request #8 from MichaelEischer/master
Qt 5 support + warning fixes
Latest commit 94a80c6 May 1, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.


Log recording tools for RoboCup Small Size League games

Copyright (c) 2013 Robotics Erlangen e.V.

This software was written by team members of ER-Force at Robotics Erlangen e.V., Germany.

The ssl-logtools can record and playback the messages of SSL-Vision ( and the SSL-RefBox (


All programs should compile on GNU/Linux, Windows and Mac OS X.

In order to build the ssl-logtools you will need:

  • cmake-2.8.2
  • g++-4.1
  • qt-gui-4.6.0
  • boost-program-options-1.42.0
  • zlib-1.2.7
  • protobuf-2.0.0

The recommended way of building a project with CMake is by doing an out-of-source build. This can be done like this:

mkdir build
cd build
cmake ..

Binaries will be created in the subdirectory "bin" of the "build" folder.

Example Usage:

Record log:

logrecorder -o /tmp/test.log

Record log and write it to gzip compressed file:

logrecorder --compress -o /tmp/test.log.gz

Automatically create a new log for each new game based on the referee commands:

logdaemon -o /tmp/logs/

Print help message with all available command-line options:

logrecorder --help

Commands can be aborted using Control-C.

Both uncompressed (.log) and gzip compressed (.log.gz) log files can be played back using "logplayer".

Reading Log Files Using Your Own Software:

If you want to read the log files using your own software, look at the class "LogFile" in "src/common/logfile.h".

Alternatively a plain C++ example for reading log files with minimal dependecies is provided in "src/examples".

Default Binary Format of the Log Files:

The log files are created by default in format version 1.

Each log file starts with the following header:

1: String - File type ("SSL_LOG_FILE")
2: Int32 - Log file format version

Format version 1 encodes the protobuf messages in the following format:

1: Int64 - Receiver timestamp in ns
2: Int32 - Message type
3: Int32 - Size of binary protobuf message
4: String - Binary protobuf message

The message types are:

MESSAGE_BLANK = 0 (ignore message)
MESSAGE_UNKNOWN = 1 (try to guess message type by parsing the data)

To convert any supported log to file format version 1 run:

logconvert -f 1 -i /tmp/in.log -o /tmp/out.log


The software is licensed to you under the GNU General Public License Version 3. The license can be found in the file "LICENSE".


The latest version of this software can be obtained at

You can’t perform that action at this time.