private string GenerateColumn(int offset, LogCreatorLineFormatter.ColumnFormat columnFormat, string overrideFormatterName = null) { if (columnFormat.IsLiteral) { return(columnFormat.Value); } var formatter = SelectFinalColumnFormatter(columnFormat, overrideFormatterName); return(GenerateColumnFromFormatter(offset, formatter)); }
private LogCreatorLineFormatter.ColumnFormat BuildSpecialFormatterFrom(LogCreatorLineFormatter.ColumnFormat originalColumn, string specialModifierStr) { var ignoreOffset = false; string val; if (originalColumn.Value != "code") { ignoreOffset = true; val = "%empty"; } else { val = $"%{specialModifierStr}"; } return(new LogCreatorLineFormatter.ColumnFormat { LengthOverride = GetGeneratorFor(originalColumn.Value).DefaultLength, IgnoreOffset = ignoreOffset, Value = val, }); }
private LogCreatorLineFormatter.ColumnFormat SelectFinalColumnFormatter(LogCreatorLineFormatter.ColumnFormat columnFormat, string overrideName = null) { return(overrideName != null ? BuildSpecialFormatterFrom(columnFormat, overrideName) : columnFormat); }
private string GenerateColumnFromFormatter(int offset, LogCreatorLineFormatter.ColumnFormat columnFormat) { var columnGenerator = GetGeneratorFor(columnFormat.Value); return(columnGenerator.Emit(columnFormat.SanitizeOffset(offset), columnFormat.LengthOverride)); }