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. example: 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. [100] InfoOutput=0 InfoFilename=/var/log/dbg.log ErrorOutput=1 AbortFatal=1
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
DisableAll=true
at the top of the configuration file.