2017-05-18 10 views
0

電子アプリケーションにドッカーコンテナのログを表示しようとしています。私はdockerode APIを使用しています.Dockerodeでコマンドを見つけることができないので、CLIで実行して出力を取得するためにnode-cmdを使用しました。しかし、NodeJsのコマンドラインでのみ動作していますが、電子と同じように画像のような余分な文字が付いています。どんな助けもありがとう。電子アプリケーションでは希望の出力が得られませんが、同じNodejsファイルを使用してノードCLIで同じ出力が得られます

ノードのjsファイル:

var Docker = require('dockerode') 
 
var docker = new Docker({ host:'127.0.0.1',port:2375}); 
 
//festive_jepsen is container name. 
 
//using alert for electron and console for nodejs CLI 
 

 
var cnt='festive_jepsen'; 
 
var cmd=require('node-cmd'); 
 
function onl() 
 
{ 
 
    cmd.get(
 
     'docker logs '+cnt, 
 
     function(err, data, stderr){ 
 
      alert(data); 
 
      //console.log(data); 
 
     } 
 
    ); 
 
}

This is the input i want and it is executing perfectly in nodejs CLI

This is how the output is in Electron app if i use the same code and alert box instead of console.log

+0

ものは、ANSIカラーコードのように見えます。コンソールはそれらを使用してテキストの色を変更していますが、警告ダイアログではそれらの処理方法を知りません。 – takteek

+0

@takteekまたはANSIスペース。白い線も異なるコードを持っているので... –

答えて

0

私は色付きのテキストを変換するために、ANSIからHTMLへのAPIを使用していました。 これは完璧に動作します。

ノードのjsファイル:

var Convert = require('ansi-to-html'); var convert = new Convert(); Converted_data = convert.toHtml(data); //data is the string with colored text

関連する問題