From 26a01dfc409dc41897cf877dddd8bbc69b26a8bd Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Fri, 14 Jan 2022 08:34:34 +0000 Subject: [PATCH] explicitely set line buffering in stdout/stderr to log each lines when output is redirected to files (#290) --- apps/smp-server/Main.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/smp-server/Main.hs b/apps/smp-server/Main.hs index cfd7f4531..97d386d27 100644 --- a/apps/smp-server/Main.hs +++ b/apps/smp-server/Main.hs @@ -27,7 +27,7 @@ import Simplex.Messaging.Transport.WebSockets (WS) import System.Directory (createDirectoryIfMissing, doesDirectoryExist, doesFileExist, removeDirectoryRecursive) import System.Exit (exitFailure) import System.FilePath (combine) -import System.IO (IOMode (..), hGetLine, withFile) +import System.IO (BufferMode (..), IOMode (..), hGetLine, withFile, hSetBuffering, stderr, stdout) import System.Process (readCreateProcess, shell) import Text.Read (readMaybe) @@ -256,6 +256,8 @@ mkIniOptions ini = runServer :: IniOptions -> IO () runServer IniOptions {enableStoreLog, port, enableWebsockets} = do + hSetBuffering stdout LineBuffering + hSetBuffering stderr LineBuffering fp <- checkSavedFingerprint printServiceInfo fp storeLog <- openStoreLog