| 266 | } |
| 267 | |
| 268 | func (s *stageWriter) Log(createdAt time.Time, level codersdk.LogLevel, line string) { |
| 269 | w := s.w |
| 270 | if s.silentLogs { |
| 271 | w = &s.logBuf |
| 272 | } |
| 273 | |
| 274 | var style pretty.Style |
| 275 | |
| 276 | var lines []string |
| 277 | if !createdAt.IsZero() { |
| 278 | lines = append(lines, createdAt.Local().Format("2006-01-02 15:04:05.000Z07:00")) |
| 279 | } |
| 280 | lines = append(lines, line) |
| 281 | |
| 282 | switch level { |
| 283 | case codersdk.LogLevelTrace, codersdk.LogLevelDebug: |
| 284 | if !s.verbose { |
| 285 | return |
| 286 | } |
| 287 | style = DefaultStyles.Placeholder |
| 288 | case codersdk.LogLevelError: |
| 289 | style = DefaultStyles.Error |
| 290 | case codersdk.LogLevelWarn: |
| 291 | style = DefaultStyles.Warn |
| 292 | case codersdk.LogLevelInfo: |
| 293 | } |
| 294 | pretty.Fprintf(w, style, "%s\n", strings.Join(lines, " ")) |
| 295 | } |
| 296 | |
| 297 | func (s *stageWriter) flushLogs() { |
| 298 | if s.silentLogs { |