@@ -71,12 +71,12 @@ import qualified Data.ByteString.Lazy as B
71import qualified Data.ByteString as BS
71import qualified Data.ByteString as BS
72import qualified Data.Map as M
72import qualified Data.Map as M
73import Data.Aeson (eitherDecode', encode)
73import Data.Aeson (eitherDecode', encode)
74−import Data.Aeson.Encode.Pretty (encodePretty)
75import Data.Yaml (decode)
74import Data.Yaml (decode)
76import qualified Data.Yaml as Yaml
75import qualified Data.Yaml as Yaml
77import qualified Data.Text as T
76import qualified Data.Text as T
78import System.Console.GetOpt
77import System.Console.GetOpt
79import Text.Pandoc.Class (withMediaBag, PandocIO, getLog)
78import Text.Pandoc.Class (withMediaBag, PandocIO, getLog)
79+import Text.Pandoc.Logging (logMessagesToJSON)
80import Paths_pandoc (getDataDir)
80import Paths_pandoc (getDataDir)
81#ifndef _WINDOWS
81#ifndef _WINDOWS
82import System.Posix.Terminal (queryTerminal)
82import System.Posix.Terminal (queryTerminal)
@@ -351,7 +351,7 @@ convertWithOpts opts = do
351 return (x, rs)
351 return (x, rs)
352 case optLogFile opts of
352 case optLogFile opts of
353 Nothing -> return ()
353 Nothing -> return ()
354− Just logfile -> B.writeFile logfile (encodePretty reports)
354+ Just logfile -> B.writeFile logfile (logMessagesToJSON reports)
355 let isWarning msg = messageVerbosity msg == WARNING
355 let isWarning msg = messageVerbosity msg == WARNING
356 when (optFailIfWarnings opts && any isWarning reports) $
356 when (optFailIfWarnings opts && any isWarning reports) $
357 err 3 "Failing because there were warnings."
357 err 3 "Failing because there were warnings."