NewConsoleWriter creates and initializes a new ConsoleWriter.
(options ...func(w *ConsoleWriter))
| 100 | |
| 101 | // NewConsoleWriter creates and initializes a new ConsoleWriter. |
| 102 | func NewConsoleWriter(options ...func(w *ConsoleWriter)) ConsoleWriter { |
| 103 | w := ConsoleWriter{ |
| 104 | Out: os.Stdout, |
| 105 | TimeFormat: consoleDefaultTimeFormat, |
| 106 | PartsOrder: consoleDefaultPartsOrder(), |
| 107 | } |
| 108 | |
| 109 | for _, opt := range options { |
| 110 | opt(&w) |
| 111 | } |
| 112 | |
| 113 | // Fix color on Windows |
| 114 | if w.Out == os.Stdout || w.Out == os.Stderr { |
| 115 | w.Out = colorable.NewColorable(w.Out.(*os.File)) |
| 116 | } |
| 117 | |
| 118 | return w |
| 119 | } |
| 120 | |
| 121 | // Write transforms the JSON input with formatters and appends to w.Out. |
| 122 | func (w ConsoleWriter) Write(p []byte) (n int, err error) { |