It's better when it's simple

User Tools

Site Tools


Debug tools

DokuWiki has debugging tools. Some need to be configured.

Enable debugging

When config option allowdebug is enabled you can:

  • Appending ?do=debug or &do=debug to URL so DokuWiki will output a huge list of debug strings.
  • Look up output of dbglog() in data/cache/debug.log
  • Receive additional error messages e.g. from some authentication backends
  • Appending ?httpdebug or &httpdebug to URL to enable debugging output in DokuWiki's HTTPClient
  • Return some messages if stylesheets are missing
  • Receive additional comments in xhtml renderer output
  • Get some fallback try-catches in the compiled javascript file via js.php
  • Get debugging at some other locations and in plugins or templates, see codesearch

Get page and user info

Appending ?do=check or &do=check to URL triggers the action mode check that provides some information about the users permissions and the DokuWiki setup.

Debugging TaskRunner

See the debug info at the task runner page.

Debug functions

  • dbg($msg)
    Insert a code block in the wikipage filled by $msg as plain text.

    Adding an extra argument to dbg($msg, $hidden=true) will return the $msg as html comment.
  • dbglog($msg)
    Writes $msg to the log in the cache directory data/cache/debug.log when the config allowdebug is enabled. Be aware the log isn't emptied automatically.

    Use dbglog($msg, 'Header above log message') for including a header above $msg.
  • dbg_deprecated($alternative = '')
    Function to mark deprecated functions. Each call is logged to the debuglog, when the config allowdebug is enabled. The log message mentions: the name of the deprecated function, the function using it, its file and line and the $alternative when provided.
  • debug_guard($data)
    When you write your own debug functionality, use this function to remove all data from an array where the key seems to point to sensitive data.

Sentry Plugin

The Sentry Plugin allows you to log extensive information to the Sentry service. This is especially useful when running beta tests within a live environment.

See also

devel/debugging.txt · Last modified: 2020-10-14 20:19 by Klap-in

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki