logging::info("Support for floats {:03.2f}", 1.23456);
logging::info("Positional args are {1} {0}..", "too", "supported");
logging::info("{:<30}", "left aligned");
// you can change the log level at runtime to filter messages from individual loggers.
logging::set_level(logging::level::debug); // Set global log level to debug
CORSIKA_LOG_DEBUG("This message should be displayed.."); // these macro messages will be removed at compile-time
CORSIKA_LOG_TRACE("This message should be displayed.."); // this will also be removed
Further examples of how to format log messages can be found [here](https://github.com/gabime/spdlog#usage-samples), and [here](https://github.com/gabime/spdlog/blob/master/example/example.cpp).
All processes should create their own logger with the `get_logger("name")`
function in the `corsika/framework/logging/Logging.hpp` header file where `name`
is the ****lowercase name**** of this process. `get_logger` returns a smart pointer
to the logger and this should be stored in the process for fast access i.e.
auto logger{get_logger("process_name")};
Unlike the examples above that are free functions, you should use methods of
this instance to log messages. For example,
logger->error("This is an error message using my custom process logger!");