IBM Worklight フレームワークを使用して iOS アプリを開発しています。「アプリケーションの起動に成功しました!」など、コードの実行時にメッセージをログに記録したい。
私の質問は
WL.Logger API を使用してメッセージをログに記録するにはどうすればよいですか?
IBM Worklight フレームワークを使用して iOS アプリを開発しています。「アプリケーションの起動に成功しました!」など、コードの実行時にメッセージをログに記録したい。
私の質問は
WL.Logger API を使用してメッセージをログに記録するにはどうすればよいですか?
ワークライト 6.0:
IBM InfoCenter 内の更新された WL.Logger 機能を見てください (こことここ)。具体的には、 callbackを設定できる部分です。
initOptions.js を開き、すべてのログ メッセージがコンソールに送信された後に呼び出されるコールバック関数を作成します。
var logHandler = function (message, priority, pkg) {
//... write to a file or send logs to a server
};
Cordova File APIを使用して、デバイス (または JSONStore、LocalStorage、Cordova Storage など) 上のファイルにログ メッセージを書き込むことができます。後で(setInterval )、そのファイルの内容を読み取り、アダプター(またはjQuery.ajaxなど)を使用してサーバーに送信できます。サーバーでは、アダプター内の Java を使用してファイルに書き込むことができます...または DB、ElasticSearch クラスター、データ インフラストラクチャ クラウド サービスなどに書き込むことができます。
var wlInitOptions = {
connectOnStartup : true,
logger : {enabled: true, level: 'debug', stringify: true, pretty: false,
tag: {level: false, pkg: true}, whitelist: [], blacklist: [], callback: logHandler}
};
callback: logHandler
上記のコード ブロックに注意してください。
Worklight 6.0 より前:
この機能は、Worklight 6.0 より前の WL.Logger の一部ではありませんが、実装することはできます。例えば:
//Implementation:
var LoggerWrapper = (function (callback) {
var _cb, _ctx;
return {
setCallbackAndContext : function (cb, ctx) {
_cb = cb;
_ctx = ctx;
}
log : function () {
console.log.apply(console, arguments);
_cb(_ctx, arguments)
}
}
})();
//Usage:
LoggerWrapper.setCallbackAndContext(functionThatCallsAdapter, ObjectThatHasNetworkEnvironmentInfoEtc);
LoggerWrapper.log('hello');
役立つ情報を提供する API。(コンテキスト)ログメッセージに追加できます:
environment : WL.Client.getAppProperty(WL.AppProp.ENVIRONMENT)
appName : WL.Client.getAppProperty(WL.AppProp.APP_DISPLAY_NAME)
appVersion : WL.Client.getAppProperty(WL.AppProp.APP_VERSION)
deviceContext : WL.Device.getContext() //see Location Services API
network: WL.Device.getNetworkInfo() //async
timestamp: new Date()
デバッグモード
多くのアプリは余分なログをキャプチャし、デフォルトではなく「デバッグ モード」を有効にしてサーバーに送信します。
運用分析
新しい運用分析機能を構成した場合は、コールバックでWL.Analytics.logを呼び出すだけです( logHandler
)。ログ メッセージを渡すと、Analytics Search Viewに表示されます。