()
| 138 | } |
| 139 | |
| 140 | func (c *LogTree) String() string { |
| 141 | if c.root != c { |
| 142 | panic("can only call String on root LogTree") |
| 143 | } |
| 144 | var builder strings.Builder |
| 145 | header := fmt.Sprintf("======== %s ========\n", c.name) |
| 146 | builder.Grow(int(c.stringLength.Load()) + len(header)) |
| 147 | builder.WriteString(header) |
| 148 | c.writeLogsRecursive(&builder, "") |
| 149 | return builder.String() |
| 150 | } |
| 151 | |
| 152 | func (c *LogTree) writeLogsRecursive(builder *strings.Builder, indent string) { |
| 153 | for _, log := range c.logs { |