Răsfoiți Sursa

add advanced setting

Luke Pulverenti 9 ani în urmă
părinte
comite
32204107dd

+ 3 - 0
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -205,6 +205,8 @@ namespace MediaBrowser.Model.Configuration
         public int MigrationVersion { get; set; }
 
         public bool DownloadImagesInAdvance { get; set; }
+
+        public bool EnableAnonymousUsageReporting { get; set; }
         
         /// <summary>
         /// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
@@ -221,6 +223,7 @@ namespace MediaBrowser.Model.Configuration
             EnableHttps = false;
             EnableDashboardResponseCaching = true;
             EnableDashboardResourceMinification = true;
+            EnableAnonymousUsageReporting = true;
 
             EnableAutomaticRestart = true;
             DenyIFrameEmbedding = true;

+ 14 - 3
MediaBrowser.Server.Implementations/EntryPoints/UsageEntryPoint.cs

@@ -10,6 +10,7 @@ using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Threading;
 using System.Threading.Tasks;
+using MediaBrowser.Controller.Configuration;
 
 namespace MediaBrowser.Server.Implementations.EntryPoints
 {
@@ -23,18 +24,18 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
         private readonly ILogger _logger;
         private readonly ISessionManager _sessionManager;
         private readonly IUserManager _userManager;
-
-        private readonly TimeSpan _frequency = TimeSpan.FromHours(24);
+        private readonly IServerConfigurationManager _config;
 
         private readonly ConcurrentDictionary<Guid, ClientInfo> _apps = new ConcurrentDictionary<Guid, ClientInfo>();
 
-        public UsageEntryPoint(ILogger logger, IApplicationHost applicationHost, IHttpClient httpClient, ISessionManager sessionManager, IUserManager userManager)
+        public UsageEntryPoint(ILogger logger, IApplicationHost applicationHost, IHttpClient httpClient, ISessionManager sessionManager, IUserManager userManager, IServerConfigurationManager config)
         {
             _logger = logger;
             _applicationHost = applicationHost;
             _httpClient = httpClient;
             _sessionManager = sessionManager;
             _userManager = userManager;
+            _config = config;
 
             _sessionManager.SessionStarted += _sessionManager_SessionStarted;
         }
@@ -64,6 +65,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
 
         private async void ReportNewSession(ClientInfo client)
         {
+            if (!_config.Configuration.EnableAnonymousUsageReporting)
+            {
+                return;
+            }
+
             try
             {
                 await new UsageReporter(_applicationHost, _httpClient, _userManager, _logger)
@@ -106,6 +112,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
         /// </summary>
         private async void OnTimerFired()
         {
+            if (!_config.Configuration.EnableAnonymousUsageReporting)
+            {
+                return;
+            }
+
             try
             {
                 await new UsageReporter(_applicationHost, _httpClient, _userManager, _logger)

+ 14 - 2
MediaBrowser.Server.Implementations/EntryPoints/UsageReporter.cs

@@ -8,6 +8,7 @@ using System.Globalization;
 using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
+using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Logging;
 
 namespace MediaBrowser.Server.Implementations.EntryPoints
@@ -51,6 +52,10 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
 
             data["plugins"] = string.Join(",", _applicationHost.Plugins.Select(i => i.Id).ToArray());
 
+            var logErrors = false;
+#if DEBUG
+            logErrors = true;
+#endif
             var options = new HttpRequestOptions
             {
                 Url = MbAdminUrl + "service/registration/ping",
@@ -59,7 +64,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
                 // Seeing block length errors
                 EnableHttpCompression = false,
 
-                LogRequest = false
+                LogRequest = false,
+                LogErrors = logErrors
             };
 
             options.SetPostData(data);
@@ -95,6 +101,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
                 { "platform", app.DeviceName }, 
             };
 
+            var logErrors = false;
+
+#if DEBUG
+            logErrors = true;
+#endif
             var options = new HttpRequestOptions
             {
                 Url = MbAdminUrl + "service/registration/ping",
@@ -103,7 +114,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
                 // Seeing block length errors
                 EnableHttpCompression = false,
 
-                LogRequest = false
+                LogRequest = false,
+                LogErrors = logErrors
             };
 
             options.SetPostData(data);