mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-18 04:38:09 +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();
|
||||
options.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
|
||||
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}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
internal class RemoveUserInfo : JsonConverter<UserInfo> {
|
||||
public class RemoveUserInfo : JsonConverter<UserInfo> {
|
||||
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,
|
||||
//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);
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
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