Dataiku DSSのChart系プラグインのlog出力3パターン


Dataiku DSSのプラグインを開発していると、logどこに出るんだっけ?となるときがあります。通常のプラグインだとJobで出ますが、Chart系プラグインは違うところに出たりするので自分向けに整理。

Dataiku version 8.0.1
pythonは3.6とか。  

Dataiku DSSのChart系プラグインのlogの出し方は、以下の3種類あるかと思います。

  1. app.jsでconsol.log()を使ってデベロッパーツールのconsolで確認する
  2. pythonのloggerを使って、backendのログに吐く
  3. chart画面に表示する

※ちなみにChart系プラグインは、Chart画面ででるヒストグラムとか円グラフとかあれをプラグインで実装したもののことを指します。

1. app.jsでconsol.log()を使う

この場合は、chromどかのデベロッパーツールを使ってlogを確認することができます。
具体的にはapp.jsで以下のように書くとデベロッパーツールのコンソールに表示されます。

app.js
  console.log("filters:", filters);

ブラウザのデベロッパーツールのconsoleについては説明省略します。

2. pythonのloggerを使う

backend.pyやpythonの独自ライブラリ内でloggerを使います。
python側では例えばこんな感じ。

import logging
logger = logging.getLogger(__name__)
logger.error(traceback.format_exc())

これが表示される場所はちょっとわかりにくいです。
下の画像の右上のオレンジで囲った矢印(Activity)をクリックするとBackend for Web appがでてくるので、赤で囲っているPlugin chartをクリック。

でてきた画面の右側、Backend logsをクリックするとloggerで吐いたログを確認することができます。

3. chart画面に表示する

これはログといか、エラーや警告をユーザーに伝えるのが主目的な気がします。
2で吐くやつをraiseしといてfrontの方で受け取って出力する感じですね。

描画画面はbody.htmlで定義しているので、そこに出すようにします。以下の例ではchart-pluginのとこに出します。

body.html
<script type="text/javascript"></script>
<h1></h1>
<div style="text-align: center">
    <div id="chart-plugin"> </div>
</div>

app.jsではこんな感じ。err_messageは何らかのエラーメッセージです。

app.js
$('#chart-plugin').html(err_message);

以上、Chart系プラグインのlog出力3パターンについてでした。