in src/Elastic.OpenTelemetry.Core/Diagnostics/LogFormatter.cs [62:102]
private static void WriteLogPrefix(int managedThreadId, DateTime dateTime, LogLevel level, StringBuilder builder, string spanId = "")
{
const int maxLength = 6;
if (string.IsNullOrEmpty(spanId))
spanId = EmptySpanId;
var threadId = new string('-', maxLength);
if (managedThreadId > 0)
{
var digits = (int)Math.Floor(Math.Log10(managedThreadId) + 1);
if (digits < maxLength)
{
Span<char> buffer = stackalloc char[maxLength];
for (var i = 0; i < maxLength - digits; i++)
buffer[i] = '0';
managedThreadId.TryFormat(buffer[(maxLength - digits)..], out _);
threadId = buffer.ToString();
}
else
threadId = managedThreadId.ToString();
}
builder.Append('[')
.Append(dateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"))
.Append("][")
.Append(threadId)
.Append("][")
.Append(spanId[..6])
.Append("][")
.Append(level.AsString())
.Append(']');
var length = builder.Length;
var padding = 55 - length;
for (var i = 0; i < padding; i++)
builder.Append(' ');
}