Skip to content

Commit 6cc8f39

Browse files
committed
fix: 优化 Exceptionless 对于源URL地址的特殊处理,过滤无效参数
1 parent 623655d commit 6cc8f39

File tree

6 files changed

+31
-6
lines changed

6 files changed

+31
-6
lines changed

framework/src/Bing.Logs.Exceptionless/ExceptionlessProvider.cs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ public class ExceptionlessProvider : ILogProvider
4141
/// </summary>
4242
public bool IsDistributedLog => true;
4343

44+
/// <summary>
45+
/// Url过滤
46+
/// </summary>
47+
public static string[] UrlFilter { get; } = new[] { "t", "page", "pageSize" };
48+
4449
#endregion
4550

4651
/// <summary>
@@ -125,7 +130,23 @@ private void SetSource(EventBuilder builder, ILogContent content)
125130
{
126131
if (string.IsNullOrWhiteSpace(content.Url))
127132
return;
128-
builder.SetSource(content.Url);
133+
builder.SetSource(RemoveParams(content.Url, UrlFilter));
134+
}
135+
136+
/// <summary>
137+
/// 移除URL参数
138+
/// </summary>
139+
/// <param name="url">Url地址</param>
140+
/// <param name="paramList">参数列表</param>
141+
private static string RemoveParams(string url, string[] paramList)
142+
{
143+
foreach (var param in paramList)
144+
{
145+
var reg = $"(?<=[\\?&]){param}=[^&]*&?";
146+
url = url.ReplaceWith(reg, "");
147+
}
148+
url = url.ReplaceWith("&+$", "");
149+
return url.TrimEnd('?');
129150
}
130151

131152
/// <summary>

framework/src/Bing.Logs.Exceptionless/Extensions.Service.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static partial class Extensions
2222
public static void AddExceptionless(this IServiceCollection services,
2323
Action<ExceptionlessConfiguration> configAction, string name = null)
2424
{
25-
services.TryAddScoped<ILogProviderFactory, Bing.Logs.Exceptionless.LogProviderFactory>();
25+
services.TryAddSingleton<ILogProviderFactory, Bing.Logs.Exceptionless.LogProviderFactory>();
2626
services.TryAddSingleton(typeof(ILogFormat), t => NullLogFormat.Instance);
2727
services.TryAddScoped<ILogContext, Bing.Logs.Core.LogContext>();
2828
services.TryAddScoped<ILog, Log>();

framework/src/Bing.Logs.Log4Net/Extensions.Service.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public static partial class Extensions
2121
public static void AddLog4Net(this IServiceCollection services, string configFile = "log4net.config",
2222
string name = null)
2323
{
24-
services.TryAddScoped<ILogProviderFactory, Bing.Logs.Log4Net.LogProviderFactory>();
24+
services.TryAddSingleton<ILogProviderFactory, Bing.Logs.Log4Net.LogProviderFactory>();
2525
services.TryAddSingleton<ILogFormat, ContentFormat>();
2626
services.TryAddScoped<ILogContext, Bing.Logs.Core.LogContext>();
2727
services.TryAddScoped<ILog, Log>();

framework/src/Bing.Logs.NLog/Extensions.Service.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public static partial class Extensions
1919
/// <param name="name">服务名称</param>
2020
public static void AddNLog(this IServiceCollection services, string name = null)
2121
{
22-
services.TryAddScoped<ILogProviderFactory, Bing.Logs.NLog.LogProviderFactory>();
22+
services.TryAddSingleton<ILogProviderFactory, Bing.Logs.NLog.LogProviderFactory>();
2323
services.TryAddSingleton<ILogFormat, ContentFormat>();
2424
services.TryAddScoped<ILogContext, Bing.Logs.Core.LogContext>();
2525
services.TryAddScoped<ILog, Log>();

modules/admin/src/Bing.Admin/Modules/AppModule.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@ public override IServiceCollection AddServices(IServiceCollection services)
5757
// //})
5858
// .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
5959
// .AddControllersAsServices();
60-
services.AddControllers()
60+
services.AddControllers(o =>
61+
{
62+
o.Conventions.Add(new AuthorizeControllerModelConvention());
63+
})
6164
.AddNewtonsoftJson(options =>
6265
{
6366
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";

modules/admin/src/Bing.Admin/appsettings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
},
1616
"Logging": {
1717
"LogLevel": {
18-
"Default": "Debug"
18+
"Default": "Debug",
19+
"Microsoft": "Warning"
1920
}
2021
},
2122
"AllowedHosts": "*"

0 commit comments

Comments
 (0)