@@ -174,6 +174,28 @@ func main() {
174
174
log .Fatalf ("Mode must be one of auto=guess, go=golang source, text=plain or markdown-like text" )
175
175
}
176
176
177
+ // we can't just write to os.Stdout directly since we have multiple goroutine
178
+ // all writing at the same time causing broken output.
179
+ // Log is routine safe.
180
+ // we see it, so it doesn't use a prefix or include a time stamp.
181
+ switch {
182
+ case * quietFlag || * outFlag == os .DevNull :
183
+ stdout = log .New (io .Discard , "" , 0 )
184
+ case * outFlag == "/dev/stderr" || * outFlag == "stderr" :
185
+ stdout = log .New (os .Stderr , "" , 0 )
186
+ case * outFlag == "/dev/stdout" || * outFlag == "stdout" :
187
+ stdout = log .New (os .Stdout , "" , 0 )
188
+ case * outFlag == "" || * outFlag == "-" :
189
+ stdout = log .New (os .Stdout , "" , 0 )
190
+ default :
191
+ fo , err := os .Create (* outFlag )
192
+ if err != nil {
193
+ log .Fatalf ("unable to create outfile %q: %s" , * outFlag , err )
194
+ }
195
+ defer fo .Close ()
196
+ stdout = log .New (fo , "" , 0 )
197
+ }
198
+
177
199
//
178
200
// Custom output
179
201
//
@@ -200,28 +222,6 @@ func main() {
200
222
defaultRead = template .Must (template .New ("defaultRead" ).Parse (defaultReadTmpl ))
201
223
}
202
224
203
- // we can't just write to os.Stdout directly since we have multiple goroutine
204
- // all writing at the same time causing broken output.
205
- // Log is routine safe.
206
- // we see it, so it doesn't use a prefix or include a time stamp.
207
- switch {
208
- case * quietFlag || * outFlag == os .DevNull :
209
- stdout = log .New (io .Discard , "" , 0 )
210
- case * outFlag == "/dev/stderr" || * outFlag == "stderr" :
211
- stdout = log .New (os .Stderr , "" , 0 )
212
- case * outFlag == "/dev/stdout" || * outFlag == "stdout" :
213
- stdout = log .New (os .Stdout , "" , 0 )
214
- case * outFlag == "" || * outFlag == "-" :
215
- stdout = log .New (os .Stdout , "" , 0 )
216
- default :
217
- fo , err := os .Create (* outFlag )
218
- if err != nil {
219
- log .Fatalf ("unable to create outfile %q: %s" , * outFlag , err )
220
- }
221
- defer fo .Close ()
222
- stdout = log .New (fo , "" , 0 )
223
- }
224
-
225
225
//
226
226
// Number of Workers / CPU to use
227
227
//
0 commit comments