mirror of
https://github.com/geode-sdk/geode.git
synced 2024-11-26 17:36:05 -05:00
allow logging to be disabled per-mod
This commit is contained in:
parent
1b77582242
commit
6d599a5e19
5 changed files with 33 additions and 5 deletions
|
@ -394,6 +394,9 @@ namespace geode {
|
|||
*/
|
||||
ModJson getRuntimeInfo() const;
|
||||
|
||||
bool isLoggingEnabled() const;
|
||||
void setLoggingEnabled(bool enabled);
|
||||
|
||||
friend class ModImpl;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -222,12 +222,14 @@ void Logger::setup() {
|
|||
}
|
||||
|
||||
void Logger::push(Log&& log) {
|
||||
std::string logStr = log.toString(true, nestLevel());
|
||||
if (log.getSender()->isLoggingEnabled()) {
|
||||
std::string logStr = log.toString(true, nestLevel());
|
||||
|
||||
LoaderImpl::get()->logConsoleMessageWithSeverity(logStr, log.getSeverity());
|
||||
logStream() << logStr << std::endl;
|
||||
LoaderImpl::get()->logConsoleMessageWithSeverity(logStr, log.getSeverity());
|
||||
logStream() << logStr << std::endl;
|
||||
|
||||
logs().emplace_back(std::forward<Log>(log));
|
||||
logs().emplace_back(std::forward<Log>(log));
|
||||
}
|
||||
}
|
||||
|
||||
void Logger::pop(Log* log) {
|
||||
|
|
|
@ -231,6 +231,14 @@ ModJson Mod::getRuntimeInfo() const {
|
|||
return m_impl->getRuntimeInfo();
|
||||
}
|
||||
|
||||
bool Mod::isLoggingEnabled() const {
|
||||
return m_impl->isLoggingEnabled();
|
||||
}
|
||||
|
||||
void Mod::setLoggingEnabled(bool enabled) {
|
||||
m_impl->setLoggingEnabled(enabled);
|
||||
}
|
||||
|
||||
bool Mod::hasSavedValue(std::string const& key) {
|
||||
return this->getSaveContainer().contains(key);
|
||||
}
|
||||
|
|
|
@ -622,6 +622,14 @@ ModJson Mod::Impl::getRuntimeInfo() const {
|
|||
return json;
|
||||
}
|
||||
|
||||
bool Mod::Impl::isLoggingEnabled() const {
|
||||
return m_loggingEnabled;
|
||||
}
|
||||
|
||||
void Mod::Impl::setLoggingEnabled(bool enabled) {
|
||||
m_loggingEnabled = enabled;
|
||||
}
|
||||
|
||||
static Result<ModMetadata> getModImplInfo() {
|
||||
std::string err;
|
||||
json::Value json;
|
||||
|
|
|
@ -56,11 +56,15 @@ namespace geode {
|
|||
* Settings save data. Stored for efficient loading of custom settings
|
||||
*/
|
||||
json::Value m_savedSettingsData = json::Object();
|
||||
|
||||
/**
|
||||
* Whether the mod resources are loaded or not
|
||||
*/
|
||||
bool m_resourcesLoaded = false;
|
||||
/**
|
||||
* Whether logging is enabled for this mod
|
||||
*/
|
||||
bool m_loggingEnabled = true;
|
||||
|
||||
|
||||
|
||||
ModRequestedAction m_requestedAction = ModRequestedAction::None;
|
||||
|
@ -139,6 +143,9 @@ namespace geode {
|
|||
|
||||
char const* expandSpriteName(char const* name);
|
||||
ModJson getRuntimeInfo() const;
|
||||
|
||||
bool isLoggingEnabled() const;
|
||||
void setLoggingEnabled(bool enabled);
|
||||
};
|
||||
|
||||
class ModImpl : public Mod::Impl {
|
||||
|
|
Loading…
Reference in a new issue