content: {-# LANGUAGE OverloadedStrings #-}
  
  module Main
    ( main,
    )
  where
  
  -------------------------------------------------------------------------------
  import Control.Exception
  import Database.Bloodhound
  -------------------------------------------------------------------------------
  import Katip
  import Katip.Scribes.ElasticSearch
  import Network.HTTP.Client
  
  -------------------------------------------------------------------------------
  
  main :: IO ()
  main = do
    mgr <- newManager defaultManagerSettings
    let bhe = mkBHEnv (Server "http://localhost:9200") mgr
    -- You may need to specify the version in a type signature when customizing your index settings
    let _customizedExample = defaultEsScribeCfgV5 {essIndexSettings = IndexSettings (ShardCount 1) (ReplicaCount 0)} :: EsScribeCfg ESV5
    esScribe <-
      mkEsScribe
        -- Reasonable for production
        defaultEsScribeCfgV5
        -- Reasonable for single-node in development
        bhe
        (IndexName "all-indices-prefixed-with")
        (MappingName "application-logs")
        (permitItem DebugS)
        V3
    let mkLogEnv = registerScribe "es" esScribe defaultScribeSettings =<< initLogEnv "MyApp" "production"
    bracket mkLogEnv closeScribes $ \le -> runKatipT le $ do
      logMsg "ns" InfoS "This goes to elasticsearch"
  