diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini index 08f967c0..3dae0d61 100644 --- a/data/locale/en-US.ini +++ b/data/locale/en-US.ini @@ -28,7 +28,8 @@ AdvSceneSwitcher.generalTab.generalBehavior.cooldown="After performing actions s AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="During this time potential matches will be ignored!" AdvSceneSwitcher.generalTab.generalBehavior.logLevel="Log level:" AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default="Default" -AdvSceneSwitcher.generalTab.generalBehavior.logLevel.printActions="Log performed actions" +AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logMacro="Log executed macros" +AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction="Log performed actions" AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose="Verbose logging" AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Enable verbose logging" AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Save window position and size" diff --git a/data/locale/ja-JP.ini b/data/locale/ja-JP.ini index 6cb720dd..21c64827 100644 --- a/data/locale/ja-JP.ini +++ b/data/locale/ja-JP.ini @@ -28,7 +28,7 @@ AdvSceneSwitcher.generalTab.generalBehavior.cooldown="アクションを実行 AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="この間、潜在的な一致は無視されます!" AdvSceneSwitcher.generalTab.generalBehavior.logLevel="ログレベル:" AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default="デフォルト" -AdvSceneSwitcher.generalTab.generalBehavior.logLevel.printActions="実行されたアクションのログ" +AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction="実行されたアクションのログ" AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose="詳細ログ(Verbose)" AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="詳細ログを有効にする(生成されるログファイルのサイズが増加します)" AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="ウィンドウのサイズと位置を記憶する" diff --git a/data/locale/pt-BR.ini b/data/locale/pt-BR.ini index 08b43aef..b23e6b69 100644 --- a/data/locale/pt-BR.ini +++ b/data/locale/pt-BR.ini @@ -28,7 +28,7 @@ AdvSceneSwitcher.generalTab.generalBehavior.cooldown="Após realizar ações, pu AdvSceneSwitcher.generalTab.generalBehavior.cooldownHint="Durante este tempo, correspondências potenciais serão ignoradas!" AdvSceneSwitcher.generalTab.generalBehavior.logLevel="Nível de log:" AdvSceneSwitcher.generalTab.generalBehavior.logLevel.default="Padrão" -AdvSceneSwitcher.generalTab.generalBehavior.logLevel.printActions="Registrar ações executadas" +AdvSceneSwitcher.generalTab.generalBehavior.logLevel.logAction="Registrar ações executadas" AdvSceneSwitcher.generalTab.generalBehavior.logLevel.verbose="Registro detalhado" AdvSceneSwitcher.generalTab.generalBehavior.verboseLogging="Ativar registro detalhado" AdvSceneSwitcher.generalTab.generalBehavior.saveWindowGeo="Salvar posição e tamanho da janela" diff --git a/lib/general.cpp b/lib/general.cpp index d731ccbd..d3a29163 100644 --- a/lib/general.cpp +++ b/lib/general.cpp @@ -524,6 +524,7 @@ void SwitcherData::SaveGeneralSettings(obs_data_t *obj) static_cast(autoStartEvent)); obs_data_set_int(obj, "logLevel", static_cast(logLevel)); + obs_data_set_int(obj, "logLevelVersion", 1); obs_data_set_bool(obj, "showSystemTrayNotifications", showSystemTrayNotifications); obs_data_set_bool(obj, "disableHints", disableHints); @@ -580,6 +581,25 @@ void SwitcherData::LoadGeneralSettings(obs_data_t *obj) static_cast(obs_data_get_int(obj, "autoStartEvent")); logLevel = static_cast(obs_data_get_int(obj, "logLevel")); + if (obs_data_get_int(obj, "logLevelVersion") < 1) { + enum OldLogLevel { DEFAULT, LOG_ACTION, VERBOSE }; + OldLogLevel oldLogLevel = static_cast( + obs_data_get_int(obj, "logLevel")); + switch (oldLogLevel) { + case DEFAULT: + logLevel = LogLevel::DEFAULT; + break; + case LOG_ACTION: + logLevel = LogLevel::LOG_ACTION; + break; + case VERBOSE: + logLevel = LogLevel::VERBOSE; + break; + default: + break; + } + } + showSystemTrayNotifications = obs_data_get_bool(obj, "showSystemTrayNotifications"); disableHints = obs_data_get_bool(obj, "disableHints"); diff --git a/lib/macro/macro.cpp b/lib/macro/macro.cpp index c5542b06..cf2909ad 100644 --- a/lib/macro/macro.cpp +++ b/lib/macro/macro.cpp @@ -368,13 +368,13 @@ bool Macro::RunActionsHelper( bool Macro::RunActions(bool ignorePause) { - vblog(LOG_INFO, "running actions of %s", _name.c_str()); + mblog(LOG_INFO, "running actions of %s", _name.c_str()); return RunActionsHelper(_actions, ignorePause); } bool Macro::RunElseActions(bool ignorePause) { - vblog(LOG_INFO, "running else actions of %s", _name.c_str()); + mblog(LOG_INFO, "running else actions of %s", _name.c_str()); return RunActionsHelper(_elseActions, ignorePause); } diff --git a/lib/switcher-data.hpp b/lib/switcher-data.hpp index d1f910aa..b398ad43 100644 --- a/lib/switcher-data.hpp +++ b/lib/switcher-data.hpp @@ -136,7 +136,7 @@ public: bool transitionOverrideOverride = false; bool adjustActiveTransitionType = true; - enum class LogLevel { DEFAULT, PRINT_ACTION, VERBOSE }; + enum class LogLevel { DEFAULT, LOG_MACRO, LOG_ACTION, VERBOSE }; LogLevel logLevel = LogLevel::DEFAULT; /* --- End of General tab section --- */ diff --git a/lib/utils/log-helper.cpp b/lib/utils/log-helper.cpp index e014a07b..5a5192c0 100644 --- a/lib/utils/log-helper.cpp +++ b/lib/utils/log-helper.cpp @@ -12,9 +12,15 @@ bool VerboseLoggingEnabled() bool ActionLoggingEnabled() { return GetSwitcher() && - (GetSwitcher()->logLevel == - SwitcherData::LogLevel::PRINT_ACTION || - GetSwitcher()->logLevel == SwitcherData::LogLevel::VERBOSE); + (GetSwitcher()->logLevel == SwitcherData::LogLevel::LOG_ACTION || + VerboseLoggingEnabled()); +} + +bool MacroLoggingEnabled() +{ + return GetSwitcher() && + (GetSwitcher()->logLevel == SwitcherData::LogLevel::LOG_MACRO || + ActionLoggingEnabled()); } } // namespace advss diff --git a/lib/utils/log-helper.hpp b/lib/utils/log-helper.hpp index 0b200840..861c164f 100644 --- a/lib/utils/log-helper.hpp +++ b/lib/utils/log-helper.hpp @@ -27,6 +27,13 @@ namespace advss { blog(level, msg, ##__VA_ARGS__); \ } \ } while (0) +// Print log with "[adv-ss] " if log level is set to "macro", "action" or "verbose" +#define mblog(level, msg, ...) \ + do { \ + if (MacroLoggingEnabled()) { \ + blog(level, msg, ##__VA_ARGS__); \ + } \ + } while (0) #endif @@ -34,5 +41,7 @@ namespace advss { EXPORT bool VerboseLoggingEnabled(); // Returns true if log level is set to "action" or "verbose" EXPORT bool ActionLoggingEnabled(); +// Returns true if log level is set to "macro", "action" or "verbose" +EXPORT bool MacroLoggingEnabled(); } // namespace advss