15954: Fix up logging prefixes.
[arvados.git] / lib / boot / log.go
index 062a854a088e8aa021b2da73a1c8db89dfc2e448..eaaca85672d777a7b78a075b0c2485f9211a41c4 100644 (file)
@@ -19,11 +19,13 @@ func (lp *logPrefixer) Write(p []byte) (int, error) {
        if len(p) == 0 {
                return 0, nil
        }
+       var out []byte
        if !lp.did {
-               lp.Writer.Write(lp.Prefix)
-               lp.did = p[len(p)-1] != '\n'
+               out = append(out, lp.Prefix...)
        }
-       out := append(bytes.Replace(p[:len(p)-1], []byte("\n"), append([]byte("\n"), lp.Prefix...), -1), p[len(p)-1])
+       lp.did = p[len(p)-1] != '\n'
+       out = append(out, bytes.Replace(p[:len(p)-1], []byte("\n"), append([]byte("\n"), lp.Prefix...), -1)...)
+       out = append(out, p[len(p)-1])
        _, err := lp.Writer.Write(out)
        if err != nil {
                return 0, err