diff --git a/Ink Canvas/App.xaml.cs b/Ink Canvas/App.xaml.cs
index fe2eafba..31d1d9ec 100644
--- a/Ink Canvas/App.xaml.cs
+++ b/Ink Canvas/App.xaml.cs
@@ -20,6 +20,7 @@ using Application = System.Windows.Application;
using MessageBox = System.Windows.MessageBox;
using SplashScreen = Ink_Canvas.Windows.SplashScreen;
using Timer = System.Threading.Timer;
+using Sentry;
namespace Ink_Canvas
{
@@ -72,6 +73,26 @@ namespace Ink_Canvas
{
}
+ try
+ {
+ var dsn = GetDlassTelemetryDsn();
+ if (!string.IsNullOrWhiteSpace(dsn))
+ {
+ SentrySdk.Init(options =>
+ {
+ options.Dsn = dsn;
+ options.Debug = false;
+ options.SendDefaultPii = true;
+ options.TracesSampleRate = 1.0;
+ options.IsGlobalModeEnabled = true;
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteLogToFile($"初始化 Dlass 遥测失败: {ex}", LogHelper.LogType.Warning);
+ }
+
// 配置TLS协议以支持Windows 7
ConfigureTlsForWindows7();
@@ -1238,6 +1259,24 @@ namespace Ink_Canvas
}
}
+ internal static string GetDlassTelemetryDsn()
+ {
+ try
+ {
+ var envDsn = Environment.GetEnvironmentVariable("DLASS_SENTRY_DSN");
+ if (!string.IsNullOrWhiteSpace(envDsn))
+ {
+ return envDsn;
+ }
+
+ return "https://9aa07b78ee2a43edae34cc6c116ce90a@iccce.dlass.tech/2";
+ }
+ catch
+ {
+ return string.Empty;
+ }
+ }
+
private void App_Exit(object sender, ExitEventArgs e)
{
// 仅在软件内主动退出时关闭看门狗,并写入退出信号
diff --git a/Ink Canvas/InkCanvasForClass.csproj b/Ink Canvas/InkCanvasForClass.csproj
index 3cb49b7e..18820ea1 100644
--- a/Ink Canvas/InkCanvasForClass.csproj
+++ b/Ink Canvas/InkCanvasForClass.csproj
@@ -155,6 +155,8 @@
+
+