Skip to the content
Documentation

[DebugBarSettings]

No ratings yet

Available since Exponential 6.0.15 (in development, not in a release yet).

Summary

The group [DebugBarSettings] of settings/debugbar.ini.

File

settings/debugbar.ini; override it in settings/override/debugbar.ini.append.php, in a siteaccess or in an extension.

Settings

Setting Default Description
ReadAccess debug Who reads what the bar shows. debug (the default): whoever gets the debug output (DebugByIP, DebugByUser), logged in or not, reads everything: the settings, their log and the IP test, the cache list, the policies of their roles, the User and the Rendering tab, the versions of PHP and Exponential, OPcache and APCu. privileged: only users with setup/setup (settings, log, policies) or setup/managecache (cache list) read those, and the User and the Rendering tab show to setup/setup and to an anonymous visitor with debug output (the stricter rule). Changing settings and clearing caches always needs setup/setup or setup/managecache. A reader without setup/setup gets nobody else's data: the change log without who made each change, the IP and the user list masked, the IP test for their own address. Debug output on a public address shows every visitor their own session: set privileged in production.
Settings[] debug_output; debug_mode; debug_redirection; display_debug_warnings; debug_log_only; display_included_files; always_log; deprecated_log; script_debug_output; debug_toolbar; debug_bar_theme; debug_by_ip; debug_ip_list; debug_by_user; debug_user_list; template_debug; template_show_xhtml_code; template_show_used_templates; template_path_comments; template_show_method_debug; ... The settings, in the order the bar lists them inside a group
Groups[] output; access; templates; sql; regional; mail; conditions; caching; extensions Groups, in the order the bar shows them
GroupNames[<key>] output=Debug output; access=Who gets debug; templates=Templates; sql=Database; regional=Translations; mail=Mail; conditions=Debug conditions; caching=Caching; extensions=Extensions  
DiscoverBlocks[] debug.ini;GeneralCondition;conditions Blocks whose every variable is a bool setting of the bar: <file>;<block>;<group>
ExtensionDiscovery enabled Extension debug switches: in every active extension's settings/*.ini and *.ini.append.php, a variable whose name matches DiscoveryPattern and whose value is enabled/disabled or true/false becomes a bool setting of the group extensions, unless the registry already has it.
DiscoveryPattern /debug/i  
DiscoveryExclude[] (empty array) <extension> or <extension>;<file> (e.g. ezjscore;ezjscore.ini) to leave out
Presets[] template_work; sql_tuning; everything; off Presets, applied from the bar (each value a separate, undoable write)
Thresholds[<key>] time_ms=500;1500; sql_count=100;300; sql_ms=200;800; memory_mb=64;192; templates=150;400; querycache_hit_rate=50;10; opcache_memory=80;95; apcu_memory=75;90 The colours of the live summary: <warn>;<high>
SessionMask[] token; csrf; nonce; secret; passw; hash; key$; credential; auth; jwt; bearer; otp; saml; assertion; ticket; sid$ The section Session of the User tab (the user's own PHP session, loaded when opened): keys whose name matches one of these masks (a part of the name, a regular expression without delimiters, case-insensitive) show only their type and length, never the value; everything below a masked key is masked too. Empty: token, csrf, nonce, secret, passw, hash, key$, credential, auth, jwt, bearer, otp, saml, assertion, ticket, sid$. An extension adds its own in its settings/debugbar.ini.append.php. Masks hide secrets, not personal data: names or addresses in the session are shown.
SessionValueMask[] (empty array) Values that are masked whatever their key is called, in addition to the patterns that always apply (a JSON Web Token anywhere in the text, the credentials of an Authorization header, a PEM private key, well-known API key prefixes, 32 or more hex digits, and a long random text of base64 characters): regular expressions without delimiters, case-sensitive (start one with (?i) for case-insensitive), matched against the first 4096 bytes of every text and every key. Example: SessionValueMask[]=^tok_[a-z0-9]{20,}$
SessionWarnBytes 65536 A session larger than this many bytes (serialized) is marked as large in the User tab: every request of the user reads the whole session, and writes it when it changed.
Panels[] (empty array) Panels of extensions: a tab each after Memory, a chip in the summary and data in the page's JSON. An extension adds an id here and names its class (expDebugBarPanelInterface) in [Panel_<id>] Class=; the class decides who may see the panel. Guide: doc/eng-us/bc/6.0/debug-bar.md, "Panels of extensions". Panels[]=mypanel [Panel_mypanel] Class=myExtensionDebugBarPanel
RenderTree enabled The template tree of the Rendering tab: every template the page rendered, nested, with the file the overrides chose and its time (at most 2000). Recorded only while debug output is on; disabled leaves it out.
Theme default The looks of the bar: default (light chips) or toolbar (a dark, compact toolbar with an icon in each block, the request's HTTP status and module/view in the first block, and a block's details in a popup above it). The panel above the bar is the same in both. Any other value is default.
LogFile debugbar.log The write log, in var/<site>/log/ (one JSON object per line)
LogListLimit 20 Entries the bar lists

See also

Generated example: debugbar.ini [DebugBarSettings]

Added to the reference for Exponential 6.0.15: the 4.x reference had no page for this group. The descriptions are the comment lines of settings/debugbar.ini.

Contributors

Comments

Add a comment

Comments are read by a moderator before they appear.