()
| 146 | } |
| 147 | |
| 148 | func (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 | |
| 198 | func (c *loggingFlags) setupLogFileBasedLogger(now time.Time, subdir, suffix, logFileOverride string, maxFiles int, maxSizeMB float64, maxAge time.Duration) zapcore.WriteSyncer { |
| 199 | var logFileName, symlinkName string |
no test coverage detected