nuxeo-0.3.0.0: app/Main.hs
{-# LANGUAGE OverloadedStrings #-}
module Main where
import qualified Data.Text as Text
import qualified Data.Text.IO as TIO
import Nuxeo.Log
import Options.Applicative
data NuxeoCli = NuxeoCli { cliLogFile :: String }
args :: Parser NuxeoCli
args = NuxeoCli
<$> strOption (long "log" <> help "Log file")
-- | Exemple to extract errors from Nuxeo log
nuxeocli :: NuxeoCli -> IO()
nuxeocli (NuxeoCli logFile) = (filter (\l -> nuxeoLogEntryType l == Error) <$> parseNuxeoLog logFile)
>>= mapM_ (\t -> TIO.putStrLn $
Text.replicate 10 "=" <> "\n"
<> Text.replicate 5 " " <> (Text.pack $ show $ nuxeoLogEntryDthr t)
<> "\n" <> Text.replicate 10 "=" <> "\n"
<> (Text.pack $ show $ nuxeoLogEntryType t)
<> " - "
<> nuxeoLogEntryAction t
<> "\n\n"
<> nuxeoLogEntryLog t
)
main :: IO()
main = nuxeocli =<< execParser opts
where
opts = info (args <**> helper)
(fullDesc
<> progDesc "Nuxeo CLI"
<> header "nuxeo - nuxeo cli tools"
)