@@ -17,14 +17,14 @@ const (
1717 envLogTimestamp = "LOG_TIMESTAMP"
1818)
1919
20+ var _ Log = NewStderrLog (DebugKeyEmpty )
21+
2022type StderrLog struct {
2123 name string
2224 logger * logrus.Logger
2325 level LogLevel
2426}
2527
26- var _ Log = NewStderrLog (DebugKeyEmpty )
27-
2828func NewStderrLog (name string ) * StderrLog {
2929 sl := & StderrLog {
3030 name : name ,
@@ -44,16 +44,7 @@ func NewStderrLog(name string) *StderrLog {
4444 }
4545
4646 sl .logger .Out = StdErr
47- formatter := & logrus.TextFormatter {
48- DisableTimestamp : true , // `INFO[0007] msg` -> `INFO msg`
49- EnvironmentOverrideColors : true ,
50- }
51- if os .Getenv (envLogTimestamp ) == "1" {
52- formatter .DisableTimestamp = false
53- formatter .FullTimestamp = true
54- formatter .TimestampFormat = time .StampMilli
55- }
56- sl .logger .Formatter = formatter
47+ sl .logger .Formatter = logFormatter
5748
5849 return sl
5950}
@@ -127,3 +118,24 @@ func (sl StderrLog) Child(name string) Log {
127118func (sl * StderrLog ) SetLevel (level LogLevel ) {
128119 sl .level = level
129120}
121+
122+ var logFormatter = newLogFormatter ()
123+
124+ func DisableColors (disable bool ) {
125+ logFormatter .DisableColors = disable
126+ }
127+
128+ func newLogFormatter () * logrus.TextFormatter {
129+ formatter := & logrus.TextFormatter {
130+ DisableTimestamp : true , // `INFO[0007] msg` -> `INFO msg`
131+ EnvironmentOverrideColors : true ,
132+ }
133+
134+ if os .Getenv (envLogTimestamp ) == "1" {
135+ formatter .DisableTimestamp = false
136+ formatter .FullTimestamp = true
137+ formatter .TimestampFormat = time .StampMilli
138+ }
139+
140+ return formatter
141+ }
0 commit comments