MCPcopy
hub / github.com/kopia/kopia / setupConsoleCore

Method setupConsoleCore

internal/logfile/logfile.go:148–196  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

146}
147
148func (c *loggingFlags) setupConsoleCore() zapcore.Core {
149 ec := zapcore.EncoderConfig{
150 MessageKey: "m",
151 LineEnding: zapcore.DefaultLineEnding,
152 EncodeTime: zapcore.RFC3339NanoTimeEncoder,
153 EncodeDuration: zapcore.StringDurationEncoder,
154 EncodeCaller: zapcore.ShortCallerEncoder,
155 ConsoleSeparator: " ",
156 }
157
158 timeFormat := zaplogutil.PreciseLayout
159
160 if c.consoleLogTimestamps {
161 ec.TimeKey = "t"
162
163 if c.jsonLogConsole {
164 ec.EncodeTime = zapcore.RFC3339NanoTimeEncoder
165 } else {
166 // always log local timestamps to the console, not UTC
167 timeFormat = "15:04:05.000"
168 ec.EncodeTime = zaplogutil.TimezoneAdjust(zapcore.TimeEncoderOfLayout(timeFormat), true)
169 }
170 } else {
171 timeFormat = ""
172 }
173
174 stec := zaplogutil.StdConsoleEncoderConfig{
175 TimeLayout: timeFormat,
176 LocalTime: true,
177 }
178
179 if c.jsonLogConsole {
180 ec.EncodeLevel = zapcore.CapitalLevelEncoder
181
182 stec.EmitLogLevel = false
183 ec.NameKey = "n"
184 ec.EncodeName = zapcore.FullNameEncoder
185 } else {
186 stec.EmitLogLevel = false
187 stec.DoNotEmitInfoLevel = true
188 stec.ColoredLogLevel = !c.disableColor
189 }
190
191 return zapcore.NewCore(
192 c.jsonOrConsoleEncoder(stec, ec, c.jsonLogConsole),
193 zapcore.AddSync(c.cliApp.Stderr()),
194 logLevelFromFlag(c.logLevel),
195 )
196}
197
198func (c *loggingFlags) setupLogFileBasedLogger(now time.Time, subdir, suffix, logFileOverride string, maxFiles int, maxSizeMB float64, maxAge time.Duration) zapcore.WriteSyncer {
199 var logFileName, symlinkName string

Callers 1

initializeMethod · 0.95

Calls 4

jsonOrConsoleEncoderMethod · 0.95
TimezoneAdjustFunction · 0.92
logLevelFromFlagFunction · 0.85
StderrMethod · 0.65

Tested by

no test coverage detected