15 lines
399 B
C#
15 lines
399 B
C#
using System.Text.Json;
|
|
using PRecAnnot.Abstractions;
|
|
|
|
namespace PRecAnnot.Telemetry;
|
|
|
|
public sealed class JsonlUsageSink(string path) : ICommandUsageSink
|
|
{
|
|
private readonly object _gate = new();
|
|
public void Record(CommandUsageEvent usageEvent)
|
|
{
|
|
var json = JsonSerializer.Serialize(usageEvent);
|
|
lock (_gate) File.AppendAllText(path, json + Environment.NewLine);
|
|
}
|
|
}
|