Iceshrimp.NET/Iceshrimp.Frontend/Core/InMemoryLogger/InMemoryLogService.cs
2024-09-10 01:51:27 +02:00

27 lines
No EOL
589 B
C#

namespace Iceshrimp.Frontend.Core.InMemoryLogger;
internal class InMemoryLogService
{
private List<string> LogBuffer { get; } = [];
private int _bufferCapacity = 100;
public void Add(string logline)
{
if (LogBuffer.Count > _bufferCapacity - 1) LogBuffer.RemoveAt(0);
LogBuffer.Add(logline);
}
public void ResizeBuffer(int newCapacity)
{
if (newCapacity > _bufferCapacity)
{
LogBuffer.RemoveRange(0, newCapacity - _bufferCapacity);
}
_bufferCapacity = newCapacity;
}
public IReadOnlyCollection<string> GetLogs()
{
return LogBuffer.AsReadOnly();
}
}