How can I limit the size of Kontact/Akonadi debug output?

Kontact and Akonadi log a lot of data on stdout if started in a console. If that output is collected in a logfile, then the amount of data can become problematic.

The way to reduce the amount of debug messages printed is by using kdebugdialog to disable debugoutput for the relevant components. Searching for e.g. “akonadi” and disabling everything there can help in reducing the amount of messages printed by akonadi in particular, or alternatively you can also use the “Disable all debug output” checkbox. This should reduce the amount of printed data drastically.

kdebugdialog modifies the kdebugrc configuration file. To e.g. modify the configuration from a script, you can also directly modify kdebugrc.

The kdebugrc configuration file

The kdebugrc configuration file can be modified by hand if kdebugdialog is not available or inconvenient.

The file is located at $(kde4-config --localprefix)/share/config/kdebugrc, typically ~/.kde/share/config/kdebugrc or system wide under /usr/share/config/kdebugrc.

Here is a description of the file’s content:

There are four levels of output: Info, Warn, Error and Fatal
corresponding to kDebug(), kdWarn(), kError(), kFatal()

For every of them you can define a target by *Output=n
using the following numbers:

  0 = file
  1 = message box
  2 = shell (stderr)
  3 = syslog
  4 = off

For file output you can give a filename by *Filename=<file>
otherwise kdebug.dbg in the current directory is used.


For the debug area 100 you want output of debug messages
to a file /var/log/dbg.log and error messages as message boxes.
Additionally the program should abort on fatal errors.


To disable debug output, set InfoOutput=4 for all relevant debug areas (e.g. look for areas containing “akonadi” using kdebugdialog). This is assuming it’s not warnings and/or error messages that are the problem.

To just disable all error messages use


at the top of the configuration file.


Posted in FAQ and tagged , , .