mirror of https://github.com/sirupsen/logrus.git
Merge pull request #903 from gavincabbage/entry-logf-level
prevent string formatting in Entry.Logf when log level is not enabled
This commit is contained in:
commit
1261c1f8a1
4
entry.go
4
entry.go
|
@ -298,7 +298,9 @@ func (entry *Entry) Panic(args ...interface{}) {
|
||||||
// Entry Printf family functions
|
// Entry Printf family functions
|
||||||
|
|
||||||
func (entry *Entry) Logf(level Level, format string, args ...interface{}) {
|
func (entry *Entry) Logf(level Level, format string, args ...interface{}) {
|
||||||
entry.Log(level, fmt.Sprintf(format, args...))
|
if entry.Logger.IsLevelEnabled(level) {
|
||||||
|
entry.Log(level, fmt.Sprintf(format, args...))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (entry *Entry) Tracef(format string, args ...interface{}) {
|
func (entry *Entry) Tracef(format string, args ...interface{}) {
|
||||||
|
|
|
@ -139,3 +139,17 @@ func TestEntryWithIncorrectField(t *testing.T) {
|
||||||
assert.Equal(eWithFunc.err, `can not add field "func"`)
|
assert.Equal(eWithFunc.err, `can not add field "func"`)
|
||||||
assert.Equal(eWithFuncPtr.err, `can not add field "funcPtr"`)
|
assert.Equal(eWithFuncPtr.err, `can not add field "funcPtr"`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEntryLogfLevel(t *testing.T) {
|
||||||
|
logger := New()
|
||||||
|
buffer := &bytes.Buffer{}
|
||||||
|
logger.Out = buffer
|
||||||
|
logger.SetLevel(InfoLevel)
|
||||||
|
entry := NewEntry(logger)
|
||||||
|
|
||||||
|
entry.Logf(DebugLevel, "%s", "debug")
|
||||||
|
assert.NotContains(t, buffer.String(), "debug", )
|
||||||
|
|
||||||
|
entry.Logf(WarnLevel, "%s", "warn")
|
||||||
|
assert.Contains(t, buffer.String(), "warn", )
|
||||||
|
}
|
Loading…
Reference in New Issue