Skip to content

Commit 66a5ee3

Browse files
committed
Tweaked log level resolving to treat null source as ''
1 parent 4023d14 commit 66a5ee3

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

src/Exceptionless/Extensions/StringExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public static bool IsPatternMatch(this string value, string pattern, bool ignore
6464
if (endsWithWildcard)
6565
return value.StartsWith(pattern);
6666

67-
return value.Equals(pattern);
67+
return String.Equals(value, pattern);
6868
}
6969

7070
public static string[] SplitAndTrim(this string input, params char[] separator) {

src/Exceptionless/Models/Collections/SettingsDictionary.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -193,22 +193,22 @@ protected override void OnChanged(ChangedEventArgs<KeyValuePair<string, string>>
193193

194194
private readonly ConcurrentDictionary<string, LogLevel> _minLogLevels = new ConcurrentDictionary<string, LogLevel>(StringComparer.OrdinalIgnoreCase);
195195

196-
public LogLevel GetMinLogLevel(string loggerName) {
197-
if (loggerName == null)
198-
loggerName = "*";
196+
public LogLevel GetMinLogLevel(string source) {
197+
if (source == null)
198+
source = String.Empty;
199199

200200
LogLevel minLogLevel;
201-
if (_minLogLevels.TryGetValue(loggerName, out minLogLevel))
201+
if (_minLogLevels.TryGetValue(source, out minLogLevel))
202202
return minLogLevel;
203203

204-
string setting = GetTypeAndSourceSetting("log", loggerName, "Trace");
204+
string setting = GetTypeAndSourceSetting("log", source, "Trace");
205205
if (setting == null) {
206-
_minLogLevels.AddOrUpdate(loggerName, LogLevel.Trace, (logName, level) => LogLevel.Trace);
206+
_minLogLevels.AddOrUpdate(source, LogLevel.Trace, (logName, level) => LogLevel.Trace);
207207
return LogLevel.Trace;
208208
}
209209

210210
minLogLevel = LogLevel.FromString(setting);
211-
_minLogLevels.AddOrUpdate(loggerName, minLogLevel, (logName, level) => minLogLevel);
211+
_minLogLevels.AddOrUpdate(source, minLogLevel, (logName, level) => minLogLevel);
212212
return minLogLevel;
213213
}
214214

test/Exceptionless.Tests/Plugins/PluginTests.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public void EventExclusionPlugin_EventExclusions() {
152152
[InlineData("Test", "Trace", null, null, false)]
153153
[InlineData("Test", "Off", null, null, true)]
154154
[InlineData("Test", "Abc", null, null, false)]
155-
[InlineData(null, "Trace", SettingsDictionary.KnownKeys.LogLevelPrefix, "Off", false)]
155+
[InlineData(null, "Trace", SettingsDictionary.KnownKeys.LogLevelPrefix, "Off", true)]
156156
[InlineData(null, "Trace", SettingsDictionary.KnownKeys.LogLevelPrefix + "*", "Off", true)]
157157
[InlineData("", "Trace", SettingsDictionary.KnownKeys.LogLevelPrefix, "Off", true)] // Becomes Global Log Level
158158
[InlineData("", "Trace", SettingsDictionary.KnownKeys.LogLevelPrefix + "*", "Off", true)]
@@ -185,7 +185,7 @@ public void EventExclusionPlugin_LogLevels(string source, string level, string s
185185
[Fact]
186186
public void EventExclusionPlugin_LogLevels_GetMinLogLevel_Settings_Order() {
187187
var settings = new SettingsDictionary {{"@@log:", "Info"}, {"@@log:*", "Debug"}};
188-
Assert.Equal(LogLevel.Debug, settings.GetMinLogLevel(null));
188+
Assert.Equal(LogLevel.Info, settings.GetMinLogLevel(null));
189189
Assert.Equal(LogLevel.Info, settings.GetMinLogLevel(String.Empty));
190190
Assert.Equal(LogLevel.Debug, settings.GetMinLogLevel("*"));
191191

@@ -202,7 +202,8 @@ public void EventExclusionPlugin_LogLevels_GetMinLogLevel_Settings_Order() {
202202
{ "@@log:abc.def.ghi", "Trace" }
203203
};
204204

205-
Assert.Equal(LogLevel.Fatal, settings.GetMinLogLevel(null));
205+
Assert.Equal(LogLevel.Fatal, settings.GetMinLogLevel("other"));
206+
Assert.Equal(LogLevel.Debug, settings.GetMinLogLevel(null));
206207
Assert.Equal(LogLevel.Debug, settings.GetMinLogLevel(String.Empty));
207208
Assert.Equal(LogLevel.Off, settings.GetMinLogLevel("abc"));
208209
Assert.Equal(LogLevel.Info, settings.GetMinLogLevel("abc.def"));

0 commit comments

Comments
 (0)