WoW DebugLog addon Shadowlands/Burning Crusade Classic 2022
wow addon DebugLog


Game Version: 1.14.0 +2
Total Downloads: 2,625
Updated: Nov 5, 2021
Created: May 9, 2020
download DebugLogDownload Earlier Versions

Earlier Versions

Name Size Uploaded Game Version Downloads
1.1.13 release 202.44 KB Nov 5, 2021 1.14.0 +2 0 download DebugLog 1.1.13 releaseDownload
1.1.12 release 190.83 KB Jun 30, 2021 9.1.0 323 download DebugLog 1.1.12 releaseDownload
1.1.11 release 190.81 KB May 21, 2021 2.5.1 624 download DebugLog 1.1.11 releaseDownload
1.1.10 release 190.65 KB Apr 15, 2021 1.13.6 138 download DebugLog 1.1.10 releaseDownload
1.1.10 release 190.65 KB Apr 15, 2021 9.0.5 328 download DebugLog 1.1.10 releaseDownload
1.1.9 release 191.58 KB Nov 19, 2020 1.13.5 146 download DebugLog 1.1.9 releaseDownload
1.1.9 release 191.58 KB Nov 19, 2020 9.0.2 368 download DebugLog 1.1.9 releaseDownload
1.1.8 release 192.35 KB Oct 14, 2020 1.13.5 59 download DebugLog 1.1.8 releaseDownload
1.1.8 release 192.35 KB Oct 14, 2020 9.0.1 134 download DebugLog 1.1.8 releaseDownload
1.1.7 release 179.05 KB Jul 27, 2020 1.13.5 92 download DebugLog 1.1.7 releaseDownload
1.1.7 release 179.05 KB Jul 27, 2020 9.0.1 218 download DebugLog 1.1.7 releaseDownload
0.1.6 release 221.17 KB Jun 23, 2020 1.13.4 51 download DebugLog 0.1.6 releaseDownload
0.1.6 release 221.17 KB Jun 23, 2020 8.3.0 63 download DebugLog 0.1.6 releaseDownload
0.1.4 release 203.41 KB May 9, 2020 8.3.0 81 download DebugLog 0.1.4 releaseDownload



Share this:

DebugLog collects and displays debug logs.

Writing to debug logs during addon development is nice for finding bugs and to see what’s going on in your addon, but the code to display the logs doesn’t necessarily have to be in your addon itself.

The addon DebugLog is useful for this. It displays one or more scrollable and searchable debug logs that are independent of your addon.

Since the log content of each debug log is created in the memory space of this addon, there is no bad memory impact in your addon when writing to a debug log.

The interface opens with /dl or by clicking on the provided LDB header (Titan Panel, Bazooka etc.)

Example Log:



If required, each log can be exported to CSV or HTML or Markdown for later review (last 500 lines).


How to use:

To create a debug log and write to it just write anywhere in your addon source code:

  if DLAPI then DLAPI.DebugLog(addonName, …) end


addonName may be a variable to hold the name of your addon (or just use a static string value) and

“…” is anything that works correctly as argument to format().

If not already there, a new log is created and it’s window can be displayed — given DebugLog is loaded — with /dl.

You can create addional tabs, e.g. a “Testing” tab by writing:

  if DLAPI then DLAPI.DebugLog(“Testing”, …) end

Example 1:

  if DLAPI then DLAPI.DebugLog(“Testing”, “Check this value: %s”, tostring(v)) end

Debug messages can have categories and/or verbosity levels, which are detected by the addon (e.g. “UI~Debug message”, “1~Debug message”, “UI~3~Debug message” etc).

Verbosity levels are numbers from “1” to “9”, a category may be any short text string.

If you add “OK~…”, “WARN~…” and “ERR~….” to your message, it will be displayed in green, blue and red (e.g. “OK~Comm~1~Incoming addon message via Battle.NET” is detected as category “Comm”, verbosity level 1 and “Incoming addon message via Battle.NET” is displayed in green).

If you want to be really safe in calling the API, you can encapsulate the call:

local function DebugPrintf(…)
  local status, res = pcall(format, …)
  if status then
    if DLAPI then DLAPI.DebugLog(addonName, res) end

Example 2: Change Column Width

You can adapt column widths of the default format by:

— more space for category column
if DLAPI and DLAPI.GetFormat and DLAPI.IsFormatRegistered then
  local fmt = DLAPI.IsFormatRegistered(DLAPI.GetFormat(addonName))
  if fmt and fmt.colWidth then
   fmt.colWidth = { 0.05, 0.12, 0.11, 0.03, 1 – 0.05 – 0.12 – 0.11 – 0.03, }

Addon Options:

The Verbosity Level option is 6 by default. Any message with a higher verbosity level isn’t going to be displayed at first.
The Time Format option is used to provide the displayed time format (as valid argument for date(), e.g.”%m-%d %H:%M:%S”).

To make it simple, “Search” and “Export” is only displayed if there is at least one category or one verbosity level entry. With the “Show Search/Export” option this can be modified.

Special Tabs:

(v0.1.6) Some special tabs can be created: /dlg to browse game globals, /dle to browse registered events and /dlc to browse chat events.

Browsing globals with /dlg:

Log Format:

The default log format — the specification of the scroll table columns and it’s content — can be changed to support other debug content.
See the examples in GUI_debuglog_fmt_*.lua and the API in GUI_debuglog_api.lua.


Please report any bugs you may find or any suggestions you might have to the ƇurseFȯrɡe Project Page

If you wish, you can send me a PM to Expelliarm5s on ƇurseFȯrɡe.


ATTENTION: The only original source for my addons is the ƇurseFȯrɡe site or the ƇurseFȯrɡe updater app. Do not download my addons from another website or with other download apps as they are likely to be out of date and may contain malware.


My other addons

  • Rematch_TSMPetValues – Add TSM market values ​​to the Rematch pet list
  • DeTrashLoot – Delete or sell items in bags based on their sell or market value
  • SellableItemDrops – Logging your sellable item drops with location, time and market value
  • WhatRepRecipes – View reputation requirements, source, price and mats for all recipe ranks
  • RinseOBags – Move items between bags and banks (fast)
  • Broker_TSMProfile – Displays the current TSM profile and lets you switch between profiles
  • MakeMeGetMyMain – Alarms you when something happens to your character
  • DebugLog – Collect and View Debug Logs


Add a comment