Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,9 @@ private void GenLogMethod(LoggingMethod lm)
}
else
{
OutLn($"new({GetNonRandomizedHashCode(eventName)}, {eventName}),");
var eventNameToCalcId = string.IsNullOrWhiteSpace(lm.EventName) ? lm.Name : lm.EventName!;
var calculatedEventId = GetNonRandomizedHashCode(eventNameToCalcId);
OutLn($"new({calculatedEventId}, {eventName}),");
}

OutLn($"{stateName},");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,37 @@ public void EventNameTests()
Assert.Equal("M1_Event", logRecord.Id.Name);
}

[Fact]
public void EventIdTests()
{
using var logger = Utils.GetLogger();
var collector = logger.FakeLogCollector;

collector.Clear();
EventNameTestExtensions.M1(LogLevel.Warning, logger, "Eight");
Assert.Equal(1, collector.Count);

var firstEventId = collector.LatestRecord.Id;
Assert.NotEqual(0, firstEventId.Id);
Assert.Equal("M1_Event", firstEventId.Name);

collector.Clear();
EventNameTestExtensions.M1_Event(logger, "Nine");
Assert.Equal(1, collector.Count);

var secondEventId = collector.LatestRecord.Id;
Assert.Equal(firstEventId.Id, secondEventId.Id); // Same EventName means same generated EventId
Assert.Equal(nameof(EventNameTestExtensions.M1_Event), secondEventId.Name);

collector.Clear();
EventNameTestExtensions.M2(logger, "Ten");
Assert.Equal(1, collector.Count);

var thirdEventId = collector.LatestRecord.Id;
Assert.NotEqual(thirdEventId.Id, secondEventId.Id); // Different EventName means different generated EventId
Assert.Equal(nameof(EventNameTestExtensions.M2), thirdEventId.Name);
}

[Fact]
public void NestedClassTests()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,13 @@ internal static partial class EventNameTestExtensions

[LoggerMessage(EventName = "M1_Event")]
public static partial void M1(LogLevel level, ILogger logger, string p0);

// This one should have the same generated EventId as the method above
[LoggerMessage(LogLevel.Debug)]
public static partial void M1_Event(ILogger logger, string p0);

// This one should have different generated EventId as the methods above
[LoggerMessage(LogLevel.Error)]
public static partial void M2(ILogger logger, string p0);
}
}
Loading