anchor.diff:          with
           | _ -> Level.INFO
   
  -    // Always log to the logger, and let it decide where/if to write the message
  -    let log =
  +    // note: always log to the loggers, and let it decide where/if to write the message
  +    let createConfiguredLoggers source channelName =
  +
           let channel, logRequestsToConsole =
               match logLanguageServiceRequestsConfigSetting with
               | LogConfigSetting.None -> None, false
  -            | LogConfigSetting.Both -> Some (window.createOutputChannel "F# Language Service"), true
  +            | LogConfigSetting.Both -> Some (window.createOutputChannel channelName), true
               | LogConfigSetting.DevConsole -> None, true
  -            | LogConfigSetting.Output -> Some (window.createOutputChannel "F# Language Service"), false
  +            | LogConfigSetting.Output -> Some (window.createOutputChannel channelName), false
   
           let consoleMinLevel = if logRequestsToConsole then DEBUG else WARN
  -        let inst = ConsoleAndOutputChannelLogger(Some "IONIDE-FSAC", logLanguageServiceRequestsOutputWindowLevel, channel, Some consoleMinLevel)
  +
  +        // if Output+DEBUG is enabled, show the stdout data printed from FSAC in a separate channel
  +        let serverStdoutChannel =
  +            match consoleMinLevel, channel with
  +            | Level.DEBUG, Some _ -> Some (window.createOutputChannel (channelName + " (server)"))
  +            | _, _ -> None
  +
  +        let editorSideLogger = ConsoleAndOutputChannelLogger(Some source, logLanguageServiceRequestsOutputWindowLevel, channel, Some consoleMinLevel)
           if logLanguageServiceRequestsOutputWindowLevel <> Level.DEBUG then
               let levelString = logLanguageServiceRequestsOutputWindowLevel.ToString()
  -            inst.Info ("Logging to output at level %s. If you want detailed messages, try level DEBUG.", levelString)
  -        inst
  +            editorSideLogger.Info ("Logging to output at level %s. If you want detailed messages, try level DEBUG.", levelString)
  +
  +        let fsacStdOutWriter text =
  +            match serverStdoutChannel with
  +            | None -> ()
  +            | Some chan -> chan.append text
  +
  +        editorSideLogger, fsacStdOutWriter
  +
  +    let log, fsacStdoutWriter = createConfiguredLoggers "IONIDE-FSAC" "F# Language Service"
   
       let genPort () =
           let r = JS.Math.random ()
  
positive.code:             |> ignore)
  
  
  
      let start () =
           let path = (VSCode.getPluginPath "Ionide.Ionide-fsharp") + "/bin/FsAutoComplete.Suave.exe"
           start' path
  
negative.code:     let stop () =
          service |> Option.iter (fun n -> n.kill "SIGKILL")
          service <- None
          ()
  