Skip to content

Commit cf7a157

Browse files
committed
Color keys according to level
1 parent 95d3aec commit cf7a157

File tree

8 files changed

+17
-13
lines changed

8 files changed

+17
-13
lines changed

internal/entryhuman/entry.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@ const TimeFormat = "2006-01-02 15:04:05.000"
3636
var (
3737
renderer = lipgloss.NewRenderer(os.Stdout, termenv.WithUnsafe())
3838

39-
loggerNameStyle = renderer.NewStyle().Foreground(lipgloss.Color("#A47DFF"))
40-
keyStyle = renderer.NewStyle().Foreground(lipgloss.Color("#606366"))
41-
multiLineKeyStyle = renderer.NewStyle().Foreground(lipgloss.Color("#79b8ff"))
39+
loggerNameStyle = renderer.NewStyle().Foreground(lipgloss.Color("#A47DFF"))
40+
timeStyle = renderer.NewStyle().Foreground(lipgloss.Color("#606366"))
4241
)
4342

4443
func render(w io.Writer, st lipgloss.Style, s string) string {
@@ -70,9 +69,9 @@ func Fmt(
7069
) {
7170
reset(buf, termW)
7271
ts := ent.Time.Format(TimeFormat)
73-
buf.WriteString(ts + " ")
72+
buf.WriteString(render(termW, timeStyle, ts+" "))
7473

75-
level := strings.ToLower(ent.Level.String())
74+
level := ent.Level.String()
7675
if len(level) > 4 {
7776
level = level[:4]
7877
}
@@ -127,6 +126,11 @@ func Fmt(
127126
multilineVal = s
128127
}
129128

129+
// Basic keyStyle off of the level makes it easy to distinguish individual
130+
// entries in a fast stream of logs where some are multi-line.
131+
// See logrus for an example.
132+
keyStyle := levelStyle(ent.Level).Copy().Bold(false)
133+
130134
for i, f := range ent.Fields {
131135
if i < len(ent.Fields) {
132136
buf.WriteString("\t")
@@ -150,7 +154,7 @@ func Fmt(
150154
}
151155
multilineVal = strings.Join(lines, "\n")
152156

153-
multilineKey = render(termW, multiLineKeyStyle, multilineKey)
157+
multilineKey = render(termW, keyStyle, multilineKey)
154158
buf.WriteString("\n")
155159
buf.WriteString(multilineKey)
156160
buf.WriteString("= ")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0001-01-01 00:00:00.000 [warn] funky^%&^&^key=value funky^%&^&^key2="@#\t \t \n"
1+
0001-01-01 00:00:00.000 [WARN] funky^%&^&^key=value funky^%&^&^key2="@#\t \t \n"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
0001-01-01 00:00:00.000 [info] msg ...
1+
0001-01-01 00:00:00.000 [INFO] msg ...
22
field= line1
33
line2
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
0001-01-01 00:00:00.000 [info] ...
1+
0001-01-01 00:00:00.000 [INFO] ...
22
msg= line1
33
line2
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0001-01-01 00:00:00.000 [warn] (named.meow)
1+
0001-01-01 00:00:00.000 [WARN] (named.meow)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2000-02-05 04:04:04.000 [debu] wowowow izi
1+
2000-02-05 04:04:04.000 [DEBU] wowowow izi
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0001-01-01 00:00:00.000 [warn] space_in_my_key="value in my value"
1+
0001-01-01 00:00:00.000 [WARN] space_in_my_key="value in my value"

sloggers/sloghuman/sloghuman_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestMake(t *testing.T) {
2626
et, rest, err := entryhuman.StripTimestamp(b.String())
2727
assert.Success(t, "strip timestamp", err)
2828
assert.False(t, "timestamp", et.IsZero())
29-
assert.Equal(t, "entry", " [info]\t...\twowow=\"me\\nyou\"\n msg= line1\n\n line2\n", rest)
29+
assert.Equal(t, "entry", " [INFO]\t...\twowow=\"me\\nyou\"\n msg= line1\n\n line2\n", rest)
3030
}
3131

3232
func TestVisual(t *testing.T) {

0 commit comments

Comments
 (0)