When you report a bug, the developer will almost always ask for
debug logs . This page tells you how to enable them, where to
find them, and how to share them safely.
A normal log line says “something happened”. A debug log line says
why it happened and what data was involved . For an audio
glitch, the difference is between:
info: voice frame dropped
and
debug: voice frame dropped: jitter buffer late by 47ms (threshold 30ms), last 3 frames late
Open Settings, Advanced .
Find the Log level dropdown (Expert mode required).
Pick:
info for normal operation (default).
debug for the issue you are reporting.
trace for the most detail. Massive log files, use sparingly.
Reproduce the problem while debug logging is on. Try to make
the minimum reproduction so the log stays short.
Switch back to info afterwards. Debug logging is expensive on
disk and CPU.
Screenshot placeholder: advanced settings with the log level dropdown set to debug.
The location depends on your operating system.
%APPDATA%\com.fancy-mumble.app\logs\fancy-mumble.log
In Explorer, paste %APPDATA%\com.fancy-mumble.app\logs into the
address bar.
~/.local/share/com.fancy-mumble.app/logs/fancy-mumble.log
Or, with the AppImage build:
~/.fancy-mumble/logs/fancy-mumble.log
~/Library/Logs/com.fancy-mumble.app/fancy-mumble.log
The app cannot easily expose the log file. Use Settings,
Advanced, Export logs to get a zip that you can save or share.
The folder also contains rotated archives:
fancy-mumble.log is the live file.
fancy-mumble.log.1, .2, … are previous sessions.
Restart the container. Logs now include info and debug lines.
Mumble has separate log channels per plugin. Set in your custom
INI:
plugin.webrtc-sfu.logLevel =debug
plugin.file-server.logLevel =debug
plugin.link-previews.logLevel =debug
plugin.push-fcm.logLevel =debug
plugin.persistent-chat.logLevel =debug
Useful when one feature misbehaves and you do not want the noise
of all the others.
docker compose logs -f mumble-server
docker compose logs --tail=1000 mumble-server > server.log
For long-running diagnostics, redirect to a file:
docker compose logs -f mumble-server > server.log 2>&1 &
# ... reproduce the issue ...
Before posting a log on GitHub or in chat, strip personally
identifying data :
Your public IP (search and replace with 1.2.3.4).
Tokens in the form Authorization: Bearer ....
Push credentials (rare in logs, but check).
Other users’ usernames if your community values privacy.
A quick one-liner:
sed -E -e ' s/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/1.2.3.4/g ' \
-e ' s/Authorization: [^[:space:]]*/Authorization: [REDACTED]/g ' \
fancy-mumble.log > fancy-mumble.redacted.log
The good report formula
Steps to reproduce , minimum reproduction.
Expected vs observed behavior.
The app version and server version .
Operating system and version.
Network setup (home, office, mobile, VPN).
The debug log for the reproduction window, redacted.
You: “audio cuts mid-sentence”.
Developer: “can you enable debug logging and reproduce with a 10-
second sample?”
You:
Settings, Advanced, Log level, debug.
Reconnect to the server.
Talk for 10 seconds with a friend in the call, including the
moment the cut happens.
Disconnect.
Grab the log file, redact.
Attach to the issue.
Developer: “the audio packet seq=4231 was dropped because the
jitter buffer was full. Increase jitterBufferSize in your config
to 200.” Issue closed.
That round trip would take an extra five messages without debug
logs.
Both client and server can stream events to a TCP listener for live
diagnosis. Set:
MUMBLE_TRACE_TCP : " 192.0.2.5:4444 "
A nc -l 4444 on the listener side captures everything. Useful for
sessions where you cannot reproduce locally.
You are ready to file a bug report. Head to
Reporting bugs for the checklist.