diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index 4e4d1e41bc..c7241bf7ed 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -127,12 +127,16 @@ logCfg :: LogConfig logCfg = LogConfig {lc_file = Nothing, lc_stderr = True} simplexChat :: WithTerminal t => ChatConfig -> ChatOpts -> t -> IO () -simplexChat cfg opts t = - -- setLogLevel LogInfo -- LogError - -- withGlobalLogging logCfg $ do - initializeNotifications - >>= newChatController cfg opts t - >>= runSimplexChat +simplexChat cfg opts@ChatOpts {logging} t + | logging = do + setLogLevel LogInfo -- LogError + withGlobalLogging logCfg initRun + | otherwise = initRun + where + initRun = + initializeNotifications + >>= newChatController cfg opts t + >>= runSimplexChat newChatController :: WithTerminal t => ChatConfig -> ChatOpts -> t -> (Notification -> IO ()) -> IO ChatController newChatController config@ChatConfig {agentConfig = cfg, dbPoolSize, tbqSize} ChatOpts {dbFile, smpServers} t sendNotification = do diff --git a/src/Simplex/Chat/Options.hs b/src/Simplex/Chat/Options.hs index b0544c4f35..f7504aabda 100644 --- a/src/Simplex/Chat/Options.hs +++ b/src/Simplex/Chat/Options.hs @@ -15,7 +15,8 @@ import System.FilePath (combine) data ChatOpts = ChatOpts { dbFile :: String, - smpServers :: NonEmpty SMPServer + smpServers :: NonEmpty SMPServer, + logging :: Bool } chatOpts :: FilePath -> Parser ChatOpts @@ -45,6 +46,11 @@ chatOpts appDir = ] ) ) + <*> switch + ( long "log" + <> short 'l' + <> help "Enable logging" + ) where defaultDbFilePath = combine appDir "simplex_v1"