remote web consoleを使ってコンソールログを出力、閲覧できるのに加え、 端末のファイル保存領域にログ出力できて、次に後ほどlogcat
ユーティリティを使ってUSB接続したコンピュータからログを取得できます。この記事ではこの機能を有効化し、ログを出力し、ログを取る方法を網羅します。
コンソールログ取得の有効化
製品版のFirefox OS端末ではコンソールログの出力(例えば、console.log()
)は標準では無効となっています。有効にするには端末の開発者メニューに行きコンソールを有効化の設定を有効にして下さい。
ログを取得する
一度、コンソールを有効化にすれば、デスクトップのFirefox OSと同じように動作します。console
のメソッドを使うことでテキストログをコンソールに出力することができます。以下に例を記載します。
console.info("Starting up the foobar hardware!"); var err = foobar.start(); if (err) { console.error("--Error %d starting up the foobar hardware!", err); }
注意: console
にコンソールログ機能の使い方について記載されています。
logcatを使用する
Firefox OS端末では出力されたログは端末内に保存されるのですが、端末からはログを確認する為のインタフェースはありません。その為、コンピュータを使用してそのログを確認する必要があります。Android SDKに含まれるadb
からlogcat
コマンドを使う必要があります(Installing ADB もあわせて見てみて下さい)。
幸運なことに、logcat
はとてもシンプルに使うことが出来ます。一度adb
をインストールしてしまえば、端末をUSBをでコンピュータに繋いでターミナルから以下のコマンドを入力するだけです。
adb logcat
以下は実際の端末で出力されたログになります( これらのログは端末内の /dev/log/system/に保存されています)。
I/Vold ( 107): Vold 2.1 (the revenge) firing up D/Vold ( 107): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media) D/Vold ( 107): Volume emmc state changing -1 (Initializing) -> 0 (No-Media) D/Vold ( 107): Volume sdcard state changing 0 (No-Media) -> 2 (Pending) D/Vold ( 107): Volume sdcard state changing 2 (Pending) -> 1 (Idle-Unmounted) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) W/Vold ( 107): Duplicate state (1) D/Vold ( 107): Volume emmc state changing 0 (No-Media) -> 2 (Pending) D/Vold ( 107): Volume emmc state changing 2 (Pending) -> 1 (Idle-Unmounted) D/VoldCmdListener( 107): volume list D/VoldCmdListener( 107): volume mount sdcard I/Vold ( 107): /dev/block/vold/179:20 being considered for volume sdcard D/Vold ( 107): Volume sdcard state changing 1 (Idle-Unmounted) -> 3 (Checking) W/Vold ( 107): Skipping fs checks I/Vold ( 107): Device /dev/block/vold/179:20, target /mnt/sdcard mounted @ /mnt/secure/staging D/Vold ( 107): Volume sdcard state changing 3 (Checking) -> 4 (Mounted) D/VoldCmdListener( 107): volume mount emmc I/Vold ( 107): /dev/block/vold/179:33 being considered for volume emmc D/Vold ( 107): Volume emmc state changing 1 (Idle-Unmounted) -> 3 (Checking) W/Vold ( 107): Skipping fs checks I/Vold ( 107): Device /dev/block/vold/179:33, target /mnt/emmc mounted @ /mnt/secure/staging D/Vold ( 107): Volume emmc state changing 3 (Checking) -> 4 (Mounted) etc.