@@ -4,6 +4,7 @@ import (
44 "encoding/json"
55 "fmt"
66 "path/filepath"
7+ "slices"
78 "time"
89
910 "github.com/charmbracelet/crush/pkg/config"
@@ -44,12 +45,17 @@ var logsCmd = &cobra.Command{
4445 msg := data["msg"]
4546 level := data["level"]
4647 otherData := []any{}
47− for k, v := range data {
48+ keys := []string{}
49+ for k := range data {
50+ keys = append(keys, k)
51+ }
52+ slices.Sort(keys)
53+ for _, k := range keys {
4854 switch k {
4955 case "msg", "level", "time":
5056 continue
5157 case "source":
52− source, ok := v.(map[string]any)
58+ source, ok := data[k].(map[string]any)
5359 if !ok {
5460 continue
5561 }
@@ -57,7 +63,7 @@ var logsCmd = &cobra.Command{
5763 otherData = append(otherData, "source", sourceFile)
5864
5965 default:
60− otherData = append(otherData, k, v)
66+ otherData = append(otherData, k, data[k])
6167 }
6268 }
6369 log.SetTimeFunction(func(_ time.Time) time.Time {