mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-18 12:48:07 +00:00
fix event logging (#1860)
Co-authored-by: Noah McGregor Harper <74685766+nharper285@users.noreply.github.com>
This commit is contained in:
@ -55,34 +55,20 @@ namespace Microsoft.OneFuzz.Service {
|
|||||||
var options = EntityConverter.GetJsonSerializerOptions();
|
var options = EntityConverter.GetJsonSerializerOptions();
|
||||||
options.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
|
options.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
|
||||||
options.Converters.Add(new RemoveUserInfo());
|
options.Converters.Add(new RemoveUserInfo());
|
||||||
var serializedEvent = JsonSerializer.Serialize(anEvent, options);
|
var serializedEvent = JsonSerializer.Serialize(anEvent, anEvent.GetType(), options);
|
||||||
_log.WithTag("Event Type", eventType.ToString()).Info($"sending event: {eventType} - {serializedEvent}");
|
_log.WithTag("Event Type", eventType.ToString()).Info($"sending event: {eventType} - {serializedEvent}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
internal class RemoveUserInfo : JsonConverter<UserInfo> {
|
public class RemoveUserInfo : JsonConverter<UserInfo> {
|
||||||
public override UserInfo? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) {
|
public override UserInfo? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) {
|
||||||
//TODO: I might be wrong but seems like better way of doing this is to have a separate type,
|
throw new NotImplementedException();
|
||||||
//that if object of the type - then ignore user info...
|
|
||||||
var newOptions = new JsonSerializerOptions(options);
|
|
||||||
RemoveUserInfo? self = null;
|
|
||||||
foreach (var converter in newOptions.Converters) {
|
|
||||||
if (converter is RemoveUserInfo) {
|
|
||||||
self = (RemoveUserInfo)converter;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (self != null) {
|
|
||||||
newOptions.Converters.Remove(self);
|
|
||||||
}
|
|
||||||
|
|
||||||
return JsonSerializer.Deserialize<UserInfo>(ref reader, newOptions);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Write(Utf8JsonWriter writer, UserInfo value, JsonSerializerOptions options) {
|
public override void Write(Utf8JsonWriter writer, UserInfo value, JsonSerializerOptions options) {
|
||||||
writer.WriteStringValue("{}");
|
writer.WriteStartObject();
|
||||||
|
writer.WriteEndObject();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
19
src/ApiService/Tests/RemoveUserInfoTest.cs
Normal file
19
src/ApiService/Tests/RemoveUserInfoTest.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using System.Text.Json;
|
||||||
|
using Microsoft.OneFuzz.Service;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Tests {
|
||||||
|
public class RemoveUserInfoTest {
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
void TestSerilize() {
|
||||||
|
var userInfo = new UserInfo(Guid.NewGuid(), Guid.NewGuid(), "test");
|
||||||
|
var options = new JsonSerializerOptions();
|
||||||
|
options.Converters.Add(new RemoveUserInfo());
|
||||||
|
var serialized = JsonSerializer.Serialize(userInfo, options);
|
||||||
|
|
||||||
|
Assert.Equal("{}", serialized);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user