Force output to be line-buffered, even when it's not connected to the terminal.
This is particuarly important for commands with --batch output, which was not always being flushed at an appropriate time.
This commit is contained in:
parent
8d90cd11b9
commit
249f7f4801
2 changed files with 8 additions and 0 deletions
|
@ -182,6 +182,11 @@ setupConsole = do
|
|||
<*> pure preciseLogFormatter
|
||||
updateGlobalLogger rootLoggerName (setLevel NOTICE . setHandlers [s])
|
||||
setConsoleEncoding
|
||||
{- Force output to be line buffered. This is normally the case when
|
||||
- it's connected to a terminal, but may not be when redirected to
|
||||
- a file or a pipe. -}
|
||||
hSetBuffering stdout LineBuffering
|
||||
hSetBuffering stderr LineBuffering
|
||||
|
||||
{- Log formatter with precision into fractions of a second. -}
|
||||
preciseLogFormatter :: LogFormatter a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue