MCPcopy
hub / github.com/gofiber/fiber / privateLogw

Method privateLogw

log/default.go:110–153  ·  view source on GitHub ↗

privateLogw logs a message at a given level log the default logger. when the level is fatal, it will exit the program.

(lv Level, format string, keysAndValues []any)

Source from the content-addressed store, hash-verified

108// privateLogw logs a message at a given level log the default logger.
109// when the level is fatal, it will exit the program.
110func (l *defaultLogger) privateLogw(lv Level, format string, keysAndValues []any) {
111 if l.level > lv {
112 return
113 }
114 level := lv.toString()
115 buf := bytebufferpool.Get()
116 buf.WriteString(level)
117 l.writeContext(buf)
118
119 // Write format privateLog buffer
120 if format != "" {
121 buf.WriteString(format)
122 }
123 // Write keys and values privateLog buffer
124 if len(keysAndValues) > 0 {
125 if (len(keysAndValues) & 1) == 1 {
126 keysAndValues = append(keysAndValues, "KEYVALS UNPAIRED")
127 }
128
129 for i := 0; i < len(keysAndValues); i += 2 {
130 if i > 0 || format != "" {
131 buf.WriteByte(' ')
132 }
133 switch key := keysAndValues[i].(type) {
134 case string:
135 buf.WriteString(key)
136 default:
137 _, _ = fmt.Fprint(buf, key)
138 }
139 buf.WriteByte('=')
140 buf.WriteString(utils.ToString(keysAndValues[i+1]))
141 }
142 }
143
144 _ = l.stdlog.Output(l.depth, buf.String()) //nolint:errcheck // It is fine to ignore the error
145 if lv == LevelPanic {
146 panic(buf.String())
147 }
148 buf.Reset()
149 bytebufferpool.Put(buf)
150 if lv == LevelFatal {
151 os.Exit(1) //nolint:revive // we want to exit the program when Fatal is called
152 }
153}
154
155// Trace logs the given values at trace level.
156func (l *defaultLogger) Trace(v ...any) {

Callers 10

Test_LogfKeyAndValuesFunction · 0.95
TracewMethod · 0.95
DebugwMethod · 0.95
InfowMethod · 0.95
WarnwMethod · 0.95
ErrorwMethod · 0.95
FatalwMethod · 0.95
PanicwMethod · 0.95

Calls 8

writeContextMethod · 0.95
toStringMethod · 0.80
GetMethod · 0.65
WriteStringMethod · 0.65
WriteByteMethod · 0.65
StringMethod · 0.65
ResetMethod · 0.65
PutMethod · 0.65

Tested by 3

Test_LogfKeyAndValuesFunction · 0.76