• ベストアンサー

ログ出力方法

つい先日からjavascriptの勉強を始めた初心者です。 javascriptのデバッグを行いたく、都度の変数の内容を確認できるよう コード内の任意の場所でログファイルを出力する 標準ライブラリを作成したいのですが、 javascriptでテキスト操作のようなものはできますでしょうか。 瞬間瞬間の動きを確認したいのですが、alert()メソッドの使用が出来ない環境です。 ログ出力でなくても、確認をとれる方法であれば構いません。 解りづらい部分ありましたら補足しますので、 どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 15mm
  • ベストアンサー率65% (65/100)
回答No.2

windowsならJScriptとしてファイル操作はできます。 私はFileSystemObjectをよく使いますね(他をよく知らないだけだったり)。 alert()を使えないというのは、ブラウザ外での使用でしょうかね?

channovi
質問者

補足

環境が複雑だった事と、通常関数でテキスト操作が出来れば事足りるので 説明しなかったのですが、ブラウザ外での使用になります。 ウィジェットやガジェットの開発をしていて、ソースとして 私のPC(windowsXP)に複数のhtmlファイルと開発用エミュレータが入っており、 エミュレータ上で使えるメソッドに制限があるため alert()が使えないのです・・・ また、Webサーバ上にもhtml、css、javascriptがおいてある環境で、 その動きのログも調べたいのですが、そのサーバがunix系のOSなのですが、そちらでもFileSystemObjectは使用できますでしょうか? サーバ内のjavascriptからログに必要な内容を引数として windowsのjavascriptに渡すことで実現可能になるのかな・・・ 説明が足りておらず、質問に質問が重なってしまい申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yuji
  • ベストアンサー率37% (64/169)
回答No.3

ログを出したいのなら、Log4jsなどのライブラリを使ってみては いかがでしょうか? (私も以前、ログ出力用ライブラリを使ってデバッグしていました。)

参考URL:
http://log4js.berlios.de/index.html
channovi
質問者

補足

Log4jsは試してみたのですが、 現状の自分の環境(開発用エミュレータ上)では 正常な動作になりませんでした。 ただ、最終チェック前ではブラウザでも動かすので それまでは使いたいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

できないわ。 残念だけど。 alertが使えないなら html内に出力すればいいじゃない。 私はTEXTAREAとか良く使うけど。

channovi
質問者

補足

回答ありがとうございます。 やっぱりできませんか・・・・ html内の出力であれば可能かな?とは思っていたのですが、 その場合任意のhtmlでは無くて、処理対象のhtmlは選べないんですよね? htmlの数が複数あり、出来ればログを一元管理する方法があれば良いなと思っている状況です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Java ログ出力方法

    バッチプログラムを作成中なのですが、ログの出し方で悩んでいます。 ログファイルを「バッチID」と「処理日付」の組み合わせで動的に変更したいと思っています。 また、ログは各クラスで出力したいと思っています。 悩んでいる箇所は ・どのようにしてバッチIDを動的に取得してログファイル名として設定するか ・複数のパッケージのクラスを使用するバッチの一連の処理をどのようにして一つのログファイルに出力するか の2点あり、対応方法が検討もつかない状態です。 使用しているライブラリはlog4j 1.2.16.jarです。 アドバイスをいただけないでしょうか。 よろしくお願いいたします。 例として、下記のようなバッチを考えています。 foo.bar.mainパッケージにはpublic static void main(String[] args)のメソッドをもつクラスを配置します。 foo.bar.commonパッケージにはfoo.bar.mainに配置したクラスから共通で利用する処理を実装したクラスを配置します。 foo.bar.main +- Batch1.class +- Batch2.class ・ ・ ・ foo.bar.common +- Common1.class +- Common2.class +- Common3.class ・ ・ ・ 処理の流れで言うと、 Batch1を実行する場合 1. javaコマンドでBatch1実行、Batch1クラスでログを出力 2. Batch1からCommon1クラスのメソッドを実行、Common1クラスでログを出力 3. Batch1からCommon2クラスのメソッドを実行、Common2クラスでログを出力 4. 処理終了 ログは「Batch1_20120612.log」に全て出力される。 Batch2を実行する場合 1. javaコマンドでBatch2実行、Batch2クラスでログを出力 2. Batch2からCommon1クラスのメソッドを実行、Common1クラスでログを出力 3. Batch2からCommon3クラスのメソッドを実行、Common3クラスでログを出力 4. 処理終了 ログは「Batch2_20120612.log」に全て出力される。

    • ベストアンサー
    • Java
  • Visual C++での出力ログの設定

    VisualC++2008で「デバッグなしで実行」をした際、出力ログに「一度も使用されていない変数があります」の警告が出てこなくなってしまったのですが、これを表示できるようにするにはどのように設定すればよいのでしょうか。

  • auth.logが出力されない。

    linuxサーバを立てsshを外部から接続しようとしていますが苦労しています。 接続が拒否されているのでログを確認しようとしたのですが、様々なWEBで調べたところauth.logに出力されるようですが見つかりません。 私の環境ではそもそもauth.logが出力されていないようです。 認証に使用するログのようなので標準出力だと思っていたのですが自分で適切な設定を行わないといけないのでしょうか? 詳しい方回答いただけますでしょうか? よろしくお願いします。 OS:vine2.6

  • ファイル出力(ログ)

    javascriptが持っている変数をログ用にファイル出力したいのですが、 何か方法ありますでしょうか。 作っている時だけ出力できればいいので、どんな方法でも良いのですが。 宜しくお願いします。

  • syslogでログファイルの出力方法

    現在、syslogを利用してログファイルを出力しようと思っています。 syslogというサービスを利用する事を教えて頂き、syslog.confを書き換えて Linux上でsyslogのサービスは起動しており、ファイルが自動的に作成されました。 (パーミッションが600なので644にしたいのですが、ひとまず置いておき、 手動でテスト的に777に変更しました) しかし、syslogのサービスが正常に動作しているかの確認は出来ておりません。 それでいてPHPからログが出力されるようにするコーディングが分かりません。 別環境の他のスクリプトで既に実績があるのですが、書き方が違う分、ダメなのかもしれません。 初めて使うので、定数が実際に何を意味しているのかがPHPのマニュアルを見ても意味不明です。 宜しければPHPを介在しない、syslogが正常に動作してログを出力してくれるLinuxのコマンドと、 PHPでのsyslogの書き方をご教示下さい。 現在、スクリプトはこんな感じです。 A.php $abc = LOG_LOCAL5; //実際はメソッドの引数(参照渡し) //↓実際は別クラスのメソッド $log = "test"; define_syslog_variables(); openlog('log', LOG_PID | LOG_PERROR, $abc); syslog(LOG_NOTICE, $log); closelog();

    • 締切済み
    • PHP
  • Log4Jでの日付毎のログについて

    Log4Jを用いて、日付毎のログを取ろうと思っております。 具体的には、テキストエディター上で変更があった際に、その都度、その内容をログに取りたいのですが、DailyRollingFileAppenderの場合、その日のログは次の日になったときに出力されてしまいます。 これをLog4Jでやることは可能なのでしょうか? また、Log4Jより容易にできるものがありますでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 標準出力と標準エラー出力を変数にセットしたいです。

    始めたばかりの初心者の為、変な質問でしたら申し訳ありません。 標準出力と標準出力を別々の変数にセットしたいのですが、そのやり方が分からず困っています。 やりたいことは、 コマンド(diffやcatなどの)実行結果の標準出力と標準エラー出力を それぞれ「任意の文字_受取パラメータの値」にセットすることをしたいです。 下記は、1回ファイルに出力して、それを読んで変数にセットするように記述したものです。 ※記述間違っていたらすみません。 ファイルに書かなくても、パイプやその他コマンドなどで出来る方法はないでしょうか? ex) test.sh 1.txt 2.txt TEST01 で実行 #!/bin/sh parm1 = $1 parm2 = $2 parm3 = $3 diff "${parm1}" "${parm2}" > test.log 2> err.log eval w_stdout_${parm3}=¥`cat test.log¥` eval w_stderr_${parm3}=¥`cat err.log¥` eval echo "stdout:¥"¥{w_stdout_${parm3}}¥"" eval echo "stderr:¥"¥{w_stderr_${parm3}}¥"" ※実行した結果 stdout:diff結果 stderr:空白 お手数ですが、何卒宜しくお願い致します。

  • VSC++でDLL出力でのデバックビルド

    VSでデバックする際にC++はprintfなどで出力時に変数の情報の確認などができます。 DLL出力の際は出力した.dllファイルをソフトの場所においてデバッグの確認を取るたのでその場で実行されずprintfなどで変数の情報の確認を取ることができません。 実行時にアプリケーションを自動で立ち上げてデバッグを来ない情報をウィンドウの出力の場所に書き出す方法があったと思うのですがどうにも方法が見つかりません。 出力する.dllファイルの出力先の指定は行いました。 立ち上げるアプリケーション(.exe)の指定をする場所とその他まだ設定しなければならない事があれば教えてください。

  • テキストファイルへの出力方法

    テキストファイルへログを出力したいのですが、 VBの記述がわかりません。 やろうとしていることは、 ・Excelオープンと同時にログファイルをオープン ・ボタン押下時にログファイルに出力 です。 ファイルのオープンでは  'ワークブック オープンイベント Dim fs1, a As Object Set fs1 = CreateObject("Scripting.FileSystemObject") Set a = fs1.CreateTxtFile("ログファイル名", True) と記述し、出力時には  'ボタンクリックイベント    a.WriteLine("出力文字列") として出力をしようと思うのですが、 プロシージャが違うためか、出力時に 「オブジェクト変数またはWithブロックが定義されていません」とのエラーが出てしまいます。 Withブロックの定義は正しく書かれてあります。 どうやって回避できるでしょうか? 宜しくお願いします。

  • C# でメソッドに送られてきたObject引数の中身を、

    C# でメソッドに送られてきたObject引数の中身を、 デバッグをせずにtextに羅列したいのですが、 可能でしょうか? 本当なら該当のクラスでCastしたら、 クラスの中身をひとつひとつ確認できるのですが、 castせずに(どんな文字列でもいいので)Textに出力することは可能でしょうか?