を使ってみJSON.stringify(object)
ましたが、全体の構造や階層が下がっていません。
一方、それconsole.log(object)
はできますが、保存できません。
console.log
出力では、すべての子を1つずつ展開し、選択してコピー/貼り付けできますが、そのために構造が大きくなっています。
を使ってみJSON.stringify(object)
ましたが、全体の構造や階層が下がっていません。
一方、それconsole.log(object)
はできますが、保存できません。
console.log
出力では、すべての子を1つずつ展開し、選択してコピー/貼り付けできますが、そのために構造が大きくなっています。
回答:
更新: 右クリックするだけです
ログに記録されたメッセージをファイルに保存するには、コンソールパネルで右クリックして[名前を付けて保存]を選択します。
元の答え:
以下に示すこのdevtoolsスニペットを使用して、console.saveメソッドを作成できます。入力からFileBlobを作成し、自動的にダウンロードします。
(function(console){
console.save = function(data, filename){
if(!data) {
console.error('Console.save: No data')
return;
}
if(!filename) filename = 'console.json'
if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a')
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
}
})(console)
ソース:http : //bgrins.github.io/devtools-snippets/#console-save
ログに記録されたオブジェクトがある場合:
Store as a global variable
temp1
copy(temp1)
Chrome DevTools Utilities API copy()
コマンドを使用して、指定したオブジェクトの文字列表現をクリップボードにコピーできます。
多くのオブジェクトがある場合、実際にはすべてのオブジェクトをJSON.stringify()して、文字列に追加し続けることができます。copy()
メソッドを使用して、完全な文字列をクリップボードにコピーします。
require("util").format(...)
代わりに使用できますJSON.stringify()
。NPM のutil
モジュールは、Node.jsとWebブラウザーの両方で機能します。
それだけを行うオープンソースのJavaScriptプラグインがあります-debugout.js
Debugout.jsは、console.logsを記録して保存し、アプリケーションがアクセスできるようにします。完全な開示、私はそれを書きました。さまざまなタイプを適切にフォーマットし、ネストされたオブジェクトと配列を処理でき、オプションで各ログの横にタイムスタンプを付けることができます。また、ライブロギングを1か所で切り替えます。
SyntaxError: export declarations may only appear at top level of a module --> debugout.js:9
ライブラリl2i
(https://github.com/seriyvolk83/logs2indexeddb)を使用して、入力した内容をすべて保存しconsole.log
てから呼び出すことができます。
l2i.download();
ログ付きのファイルをダウンロードします。
すべてのconsole.log
出力をサーバー上のファイルに保存できる別のオープンソースツール、JS LogFlush(plug!)があります。
JS LogFlushは、以下を含む統合されたJavaScriptロギングソリューションです。
- クロスブラウザUIを使用しないconsole.logの置き換え-クライアント側。
- ログストレージシステム-サーバー側。
これは本当にパーティーに遅れますが、多分それは誰かを助けるでしょう。私の解決策はOPが問題があると説明したものに似ているようですが、おそらくそれはChromeが現在提供している機能ではありますが、そうではありません。オブジェクトをコンソールに書き込んだ後、.logファイルを右クリックして保存してみましたが、次のようなテキストファイルしかありませんでした。
console.js:230完了:Array(50000)[0…9999] [10000…19999] [20000…29999] [30000…39999] [40000…49999]長さ:50000__proto__:Array(0)
誰にとっても役に立たなかった。
console.log(data)
コードでを見つけてブレークポイントをドロップJSON.Stringify(data)
し、コンソールに入力すると、オブジェクト全体がJSON文字列として表示され、Chromeコンソールには実際にそれをコピーするためのボタンが表示されました。次に、テキストエディターに貼り付けます。JSONがあります。