Geode provides a builtin logger with fmtlib formatting, which you can view in real time via the platform console, or later on by checking the logs in the geode/logs/ folder.

Log Levels

There are 4 logging levels, each being more important than the previous.

using namespace geode;

log::debug("Im some debug string {}", 123);
log::info("Some information for those reading logs");
log::warn("Warning: something idk");
log::error("An error message");


The syntax for formatting logs is the same as fmtlib. Geode itself provides formatters for a few common types, such as CCPoint, CCNode*, etc.

Cheatsheet showing fmtlib syntax Image from https://hackingcpp.com

As such, you are able to do things like this:

geode::log::debug("Hello {:>10.3f} world, [{}]", 12.4f, fmt::join(someVec, ", "));

Platform console

You can easily enable the platform console by going to the settings on the Geode mod ingame.

Image showing the platform console option ingame