File: writer_test.go

package info (click to toggle)
golang-logrus 1.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bookworm-backports, bookworm-proposed-updates, experimental, forky, sid, trixie
  • size: 432 kB
  • sloc: sh: 7; makefile: 2
file content (38 lines) | stat: -rw-r--r-- 774 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package writer

import (
	"bytes"
	"io/ioutil"
	"testing"

	log "github.com/sirupsen/logrus"
	"github.com/stretchr/testify/assert"
)

func TestDifferentLevelsGoToDifferentWriters(t *testing.T) {
	var a, b bytes.Buffer

	log.SetFormatter(&log.TextFormatter{
		DisableTimestamp: true,
		DisableColors:    true,
	})
	log.SetOutput(ioutil.Discard) // Send all logs to nowhere by default

	log.AddHook(&Hook{
		Writer: &a,
		LogLevels: []log.Level{
			log.WarnLevel,
		},
	})
	log.AddHook(&Hook{ // Send info and debug logs to stdout
		Writer: &b,
		LogLevels: []log.Level{
			log.InfoLevel,
		},
	})
	log.Warn("send to a")
	log.Info("send to b")

	assert.Equal(t, a.String(), "level=warning msg=\"send to a\"\n")
	assert.Equal(t, b.String(), "level=info msg=\"send to b\"\n")
}