protected virtual void FormatMessage(TraceLog Log) { }
protected abstract Task WriteLogAsync(TraceLog Log);