aboutsummaryrefslogtreecommitdiff
path: root/src/zen/zen.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-06-12 09:30:54 +0200
committerGitHub Enterprise <[email protected]>2025-06-12 09:30:54 +0200
commitfdad92dddba8047930c4e7496a7f412d760c312e (patch)
tree7f54ad72d7f6de0a778e643669c733dd6e359b77 /src/zen/zen.cpp
parent5.6.12 (diff)
downloadarchived-zen-fdad92dddba8047930c4e7496a7f412d760c312e.tar.xz
archived-zen-fdad92dddba8047930c4e7496a7f412d760c312e.zip
sentry config (#430)
- Feature: Added `--sentry-environment` to `zen` and `zenserver` - Feature: Added `--sentry-debug` to `zen` and `zenserver` - Feature: Added environment variable parsing for the following options: - `UE_ZEN_SENTRY_ENABLED`: `--no-sentry` (inverted) - `UE_ZEN_SENTRY_DEBUG`: `--sentry-debug` - `UE_ZEN_SENTRY_ALLOWPERSONALINFO`: `--sentry-allow-personal-info` - `UE_ZEN_SENTRY_DSN`: `--sentry-dsn` - `UE_ZEN_SENTRY_ENVIRONMENT`: `--sentry-environment`
Diffstat (limited to 'src/zen/zen.cpp')
-rw-r--r--src/zen/zen.cpp40
1 files changed, 34 insertions, 6 deletions
diff --git a/src/zen/zen.cpp b/src/zen/zen.cpp
index e84e258b8..76a866204 100644
--- a/src/zen/zen.cpp
+++ b/src/zen/zen.cpp
@@ -37,6 +37,7 @@
#include <zencore/trace.h>
#include <zencore/windows.h>
#include <zenhttp/httpcommon.h>
+#include <zenutil/environmentoptions.h>
#include <zenutil/logging.h>
#include <zenutil/zenserverprocess.h>
@@ -872,18 +873,22 @@ main(int argc, char** argv)
#endif // ZEN_WITH_TRACE
#if ZEN_USE_SENTRY
- bool NoSentry = false;
- bool SentryAllowPII = false;
- std::string SentryDsn;
+
+ SentryIntegration::Config SentryConfig;
+
+ bool NoSentry = false;
+
Options
.add_option("sentry", "", "no-sentry", "Disable Sentry crash handler", cxxopts::value<bool>(NoSentry)->default_value("false"), "");
Options.add_option("sentry",
"",
"sentry-allow-personal-info",
"Allow personally identifiable information in sentry crash reports",
- cxxopts::value<bool>(SentryAllowPII)->default_value("false"),
+ cxxopts::value<bool>(SentryConfig.AllowPII)->default_value("false"),
"");
- Options.add_option("sentry", "", "sentry-dsn", "Sentry DSN to send events to", cxxopts::value<std::string>(SentryDsn), "");
+ Options.add_option("sentry", "", "sentry-dsn", "Sentry DSN to send events to", cxxopts::value<std::string>(SentryConfig.Dsn), "");
+ Options.add_option("sentry", "", "sentry-environment", "Sentry environment", cxxopts::value<std::string>(SentryConfig.Environment), "");
+ Options.add_options()("sentry-debug", "Enable debug mode for Sentry", cxxopts::value<bool>(SentryConfig.Debug)->default_value("false"));
#endif
Options.parse_positional({"command"});
@@ -928,6 +933,27 @@ main(int argc, char** argv)
}
#if ZEN_USE_SENTRY
+
+ {
+ EnvironmentOptions EnvOptions;
+
+ EnvOptions.AddOption("UE_ZEN_SENTRY_DSN"sv, SentryConfig.Dsn, "sentry-dsn"sv);
+ EnvOptions.AddOption("UE_ZEN_SENTRY_ALLOWPERSONALINFO"sv, SentryConfig.AllowPII, "sentry-allow-personal-info"sv);
+ EnvOptions.AddOption("UE_ZEN_SENTRY_ENVIRONMENT"sv, SentryConfig.Environment, "sentry-environment"sv);
+
+ bool EnvEnableSentry = !NoSentry;
+ EnvOptions.AddOption("UE_ZEN_SENTRY_ENABLED"sv, EnvEnableSentry, "no-sentry"sv);
+
+ EnvOptions.AddOption("UE_ZEN_SENTRY_DEBUG"sv, SentryConfig.Debug, "sentry-debug"sv);
+
+ EnvOptions.Parse(ParseResult);
+
+ if (EnvEnableSentry != !NoSentry)
+ {
+ NoSentry = !EnvEnableSentry;
+ }
+ }
+
SentryIntegration Sentry;
if (NoSentry == false)
@@ -945,7 +971,9 @@ main(int argc, char** argv)
SB.Append(argv[i]);
}
- Sentry.Initialize(SentryDatabasePath, {}, SentryDsn, SentryAllowPII, SB.ToString());
+ SentryConfig.DatabasePath = SentryDatabasePath;
+
+ Sentry.Initialize(SentryConfig, SB.ToString());
SentryIntegration::ClearCaches();
}