これは初心者の質問です。
ブラウザ(IE、FFなど)で実行されているJavaスクリプトアプリケーションにログを追加したい場合はどうなりますか?私が理解しているように、クライアントホストにログファイルを保存することはできません。したがって、2つのオプションしかありません。新しいブラウザウィンドウ(「ブラックバード」など)にログ情報を表示するか、サーバーにログを送信します。
それが正しいか?彼らは通常どのような種類のロギングを使用しますか?
これは初心者の質問です。
ブラウザ(IE、FFなど)で実行されているJavaスクリプトアプリケーションにログを追加したい場合はどうなりますか?私が理解しているように、クライアントホストにログファイルを保存することはできません。したがって、2つのオプションしかありません。新しいブラウザウィンドウ(「ブラックバード」など)にログ情報を表示するか、サーバーにログを送信します。
それが正しいか?彼らは通常どのような種類のロギングを使用しますか?
クライアントホストにログファイルを「保存」することはできません。ウィンドウを開いて視覚化することはできますが、(Webアプリケーションを実行していると仮定して)ウィンドウが表示されることはありません。
どうしてもクライアント側のログを取得する必要がある場合は、AJAXを使用してそれらをサーバーに送り返す必要があります。これが私が本当に気に入ったブログ投稿です。
もう 1 つの可能性は、jsnlog ライブラリhttp://js.jsnlog.com/ です。これにより、クライアント側のログをサーバーに送信できます。
https://log4sure.comを見てください(開示: 私が作成しました) - しかし、これは非常に便利です。チェックして、自分で判断してください。エラー/イベントをログに記録し、カスタム ログ テーブルを作成することもできます。すべてを独自のサーバーに保存するため、その必要はありません。また、ログをリアルタイムで監視することもできます。そして最良の部分は、その無料です。
bower を使用してインストールすることもできます。bower install log4sure を使用します。
セットアップ コードも非常に簡単です。
// setup
var _logServer;
(function() {
var ls = document.createElement('script');
ls.type = 'text/javascript';
ls.async = true;
ls.src = 'https://log4sure.com/ScriptsExt/log4sure.min.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ls, s);
ls.onload = function() {
// use your token here.
_logServer = new LogServer("use-your-token-here");
};
})();
// example for logging text
_logServer.logText("your log message goes here.")
//example for logging error
divide = function(numerator, divisor) {
try {
if (parseFloat(value) && parseFloat(divisor)) {
throw new TypeError("Invalid input", "myfile.js", 12, {
value: value,
divisor: divisor
});
} else {
if (divisor == 0) {
throw new RangeError("Divide by 0", "myfile.js", 15, {
value: value,
divisor: divisor
});
}
}
} catch (e) {
_logServer.logError(e.name, e.message, e.stack);
}
}
// another use of logError in window.onerror
// must be careful with window.onerror as you might be overwriting some one else's window.onerror functionality
// also someone else can overwrite window.onerror.
window.onerror = function(msg, url, line, column, err) {
// may want to check if url belongs to your javascript file
var data = {
url: url,
line: line,
column: column,
}
_logServer.logError(err.name, err.message, err.stack, data);
};
// example for custom logs
var foo = "some variable value";
var bar = "another variable value";
var flag = "false";
var temp = "yet another variable value";
_logServer.log(foo, bar, flag, temp);