Cognos Analytics 11.1 のSDKでデバッグコードを仕込んでのデバッグメモ
Javaのスキルが無い事がモロバレで恥ずかしいのですが、同じ様にCognosはできるけどJavaができない人には役立つ情報なので、恥を忍んで投稿します。
こうやったら出来たという投稿なので、もっと良い方法があるというJavaスキルある方のご指摘を頂けるとうれしいです。
背景
Cognos SDKの開発では、過去に投稿したようなリモートデバッグを設定して、デバッグをやってました。
Cognos SDKのリモート・デバッグ
https://qiita.com/shinyama/items/f3cccdfb22bb79effe45
しかしながら、Cognos Analytics 11.1.5で、startwlp.batファイルが廃止されてしまい、Windows環境ではどうやれば良いのやらになった結果、原始的なデバッグコードを仕込んで、ログファイルに変数の値などを出力する事にしました。
自分のためのメモも兼ねて共有します。
実装
JDBCSampleの例でやってます。
import java.util.function.Supplier;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import java.util.Arrays;
デバッグコードを仕込む箇所の例として、getFormFieldValues()の中に、以下の赤枠を追加します。
//Debug Start
String username0 = Arrays.toString(usernames);
try {
Logger logger = Logger.getLogger("COGSDK");
Formatter formatter = new SimpleFormatter();
Handler loggerHandler = new FileHandler("/work/CJAP/test.log");
logger.addHandler(loggerHandler);
loggerHandler.setFormatter(formatter);
logger.log(Level.INFO,"Username" + username0);
} catch (IOException ex) {
ex.printStackTrace();
}
//Debug End
ビルドして、CAM_AAA_JDBCSample.jarを置き換えて、Cognos Analyticsを再起動します。
Cognos Analyticsにcogadminユーザーでログインします。
test.logに以下のように[cogadmin]が出力されます。
ご活用下さい!