Logging Using Snips Watch

Basic usage

Snips-watch comes preinstalled with the Snips apt-get package:

sudo apt-get install snips

By default, snips-watch will try to connect on the local MQTT broker. This can be overridden with the --mqtt option. By default, snips-watch will only display logs for when an intent is detected. For more logs, such as when a wake word is detected or when a dialog session has ended, you can use the -v, -vv and -vvv flags.

snips-watch --mqtt my-device.local:1883 -vv

Dumping audio

Snips-watch can also be used to dump interesting parts of the audio stream that is available on the MQTT bus. If you provide the --dump-audio flag, it will dump a wav file each time the ASR detects something, as well as a 2 seconds wav of the sound before a wake word detection. With no further arguments, it will listen on the default site (which is what you want if you don't use a multisite setup) and dump the files in the current folder. You can change this with some additional options.

For illustration, the following command will dump audio from the bedroom site into the /tmp folder:

snips-watch --dump_audio --dump_audio_site bedroom --dump_audio_path /tmp

Docker

If you are running Snips via Docker, you can enable or disable logs with the --log-driver flag when starting the Docker container. Usually, the logs will be printed on the command line, so storing them in a file with a log driver is optional.

docker logs -f --tail 50 snips