Home / Class/ defaultLogFormatter Class — gin Architecture

defaultLogFormatter Class — gin Architecture

Architecture documentation for the defaultLogFormatter class in logger.go from the gin codebase.

Entity Profile

Dependency Diagram

graph TD
  358abcf2_7fde_a13c_ff8f_2a61a795a2a4["defaultLogFormatter"]
  ebe74c65_b874_7c56_446f_8700b49eceb2["statusColor"]
  358abcf2_7fde_a13c_ff8f_2a61a795a2a4 -->|extends| ebe74c65_b874_7c56_446f_8700b49eceb2
  ed464f46_6294_af3d_9831_5646cd0d38c7["logger.go"]
  358abcf2_7fde_a13c_ff8f_2a61a795a2a4 -->|defined in| ed464f46_6294_af3d_9831_5646cd0d38c7

Relationship Graph

Source Code

logger.go lines 162–189

var defaultLogFormatter = func(param LogFormatterParams) string {
	var statusColor, methodColor, resetColor, latencyColor string
	if param.IsOutputColor() {
		statusColor = param.StatusCodeColor()
		methodColor = param.MethodColor()
		resetColor = param.ResetColor()
		latencyColor = param.LatencyColor()
	}

	switch {
	case param.Latency > time.Minute:
		param.Latency = param.Latency.Truncate(time.Second * 10)
	case param.Latency > time.Second:
		param.Latency = param.Latency.Truncate(time.Millisecond * 10)
	case param.Latency > time.Millisecond:
		param.Latency = param.Latency.Truncate(time.Microsecond * 10)
	}

	return fmt.Sprintf("[GIN] %v |%s %3d %s|%s %8v %s| %15s |%s %-7s %s %#v\n%s",
		param.TimeStamp.Format("2006/01/02 - 15:04:05"),
		statusColor, param.StatusCode, resetColor,
		latencyColor, param.Latency, resetColor,
		param.ClientIP,
		methodColor, param.Method, resetColor,
		param.Path,
		param.ErrorMessage,
	)
}

Defined In

Extends

Frequently Asked Questions

What is the defaultLogFormatter class?
defaultLogFormatter is a class in the gin codebase, defined in logger.go.
Where is defaultLogFormatter defined?
defaultLogFormatter is defined in logger.go at line 162.
What does defaultLogFormatter extend?
defaultLogFormatter extends statusColor.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free