• 締切済み

ログ出力したい

mysqlで、テーブルの作成と初期値の登録をバッチファイルをダブルクリックして実行しています。しかし、あっという間に黒い画面が閉じてしまい、うまくいったのエラーになったのかさっぱり分かりません。 ログを出力したいのですが、 echo error message >> C:\log\result.log と書くと、指定の場所にresult.logは出来ているのですが、そのファイルを開くと、 error message としか書かれていません。 どうしたらよいのか教えてください。

  • MySQL
  • 回答数3
  • ありがとう数1

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>私には難しくて、まだ理解できていませんが・・・。 私の理解がまちがっているのかもしれませんが、 hoge.batというバッチファイルを実行しているのですよね? であれば#2で書いたように (1)中身をカッコで囲む (2)ファイルの最後の行に以下記載する >>C:\log\result.log 2>&1 たぶん、バッチファイルの基本をご理解なさっていないのだと思います。 学習するか、別の方法を模索された方がよいかもしれません。 (もっと難しいかもしれませんがWSHなどの方がイメージはしやすい)

tohiyu
質問者

お礼

解決しました。 ありがとうございました。

tohiyu
質問者

補足

ご指摘いただきました通り、やはりもっと学習します。 なかなかついて行けずに申し訳ありません。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

標準エラー出力を理解していないのかと 2>&1で標準出力にリダイレクトしてやればいいのですが こつを覚えるまで多少難解かも たとえばhoge.batを以下のように書きます。 @echo off (echo aaa xxx echo bbb yyy echo ccc )>log 2>&1 記入後hogeを実行すると標準出力のaaa、bbb、cccに挟まれて、 コマンドではないxxxとyyyのエラーが併せてlogに書き込まれます。 しかしこれがMySQLとどうかかわっているのかは質問者さんにしかわかりません

tohiyu
質問者

補足

ありがとうございます。すみません、私には難しくて、まだ理解できていませんが・・・。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

windows? 最後の行に「pause」をかいてみては?

tohiyu
質問者

補足

ありがとうございます。 最後の行に「pause」をかいたら、勝手に閉じなくはなりました。 あと、ログファイルの方が、 error message としか書かれておらず、 結果がわかりません。どう書けばよいですか?

関連する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
  • 標準出力とログファイルへの書き出し

    初歩的な質問ですみません。 以下のようにするとログファイルにechoの内容が出力 されますが、標準出力には出力されないようになります。 echo "log" >> test.log 標準出力とログファイル両方に出力したい場合はどのように記述 すればよいでしょうか?

  • バッチのログで前回のログを削除して、現時点のログだけにしたいときの記述方法

    お世話になってます。 WindowsOS上で、バッチファイルを作成し実行結果をログにだしています。下記のような記述のみですと、前回処理のログの後ろに、現時、実行したログが続けて上書きされ続けます。 これを、現時点で実行したバッチのログだけしたい場合、記述方法があると思いますが、初心者にてわからない状況です。 記述方法を教えていただけますでしょうか? よろしくお願いします。 例) set LOG=C:\temp\test.log ~~~ echo %DATA% %TIME% >> %LOG% ~~~ echo ~~の処理に成功しました >> %LOG% ~~~ ~~~ :end

  • バッチファイルでPINGログ取得

    バッチファイルでPINGのログを取得したいと考えています。 下記のバッチを作成して実行してみましたが @echo off set LOG=log.log echo "------------ START -------------" >> %LOG% ping -w 1 -n 1 localhost >> %LOG% 「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」とエラーメッセージが延々と表示されます。 ログにはECHOで出力したSTARTしかありません。 コマンドラインから上記のPINGを打つと正常に終了します。 使用しているOSはWinXP SP2です。 何が原因なのか解決法をご存知の方がいらっしゃいましたら宜しくお願いします。

  • コマンドプロンプト 実行結果の桁をそろえたい

    バッチの実行結果の件数%count%を、5桁の右寄せ(結果が1桁のばあいは、スペース4桁を頭に入れてる)でテキストファイルresult.txt に出力したいのですが、下記のように書くと、 table1 : ("d\n",0) 件  と出力されてしまいます。 table1 :    0 件   と出力されるようにするにはどうしたらよいのでしょうか? for /f %%i in ('mysql -u root -p ^< "c:\bat\test.sql"') do set count=("%5d\n",%%i) echo table1 : %count% 件 >> "c:\bat\result.txt"

    • ベストアンサー
    • MySQL
  • 複数のプログラムのログを1つのログファイルに出力

    初めて質問させていただきます。 Bourne Shell(Bシェル)のいくつかのプログラムで1つのログファイルを 使用したいと考えています。 ログファイルは、 echo ログ >> ログファイル といった形で出力予定です。 ただ業務の仕様上、シェルプログラムが同時に動く可能性があるのですが そうした場合、やはり片方のログが出力されないといったことになるのでしょうか? よろしくお願いします。

  • ログファイルのファイルサイズについて

    ログファイルのファイルサイズについて my.iniで、 log=mysql.log と指定し、ログファイルを出力しているのですが、 バイナリログだとファイルサイズの指定が出来ると思うのですが、 普通のログファイルのサイズ指定をする方法はないのでしょうか? 環境:Windows2008+Mysql5.1.34

    • ベストアンサー
    • MySQL
  • MYSQLのログにつきまして

    MYSQLのログにつきまして mysqlでPostgresqlのpg_logのようにsqlの実行時エラーなどを出力する方法はありますか? --logオプションで起動しても実行されたクエリーがログに出力されるのみで肝心な実行結果ログが出力されず困っています。 phpmyadmiinで誤ったsqlを実行した時に出るエラーのような出力を出せないかと思っています。 以上、宜しくおねがいします。

    • ベストアンサー
    • MySQL
  • echoの出力の最後のスペースを除去したい

    テキストファイルにechoで出力するバッチファイルを作成しています。 echo出力の最後にスペースが1つだけ余分に追加されてしまいます。 これを除去するにはどうしたらよいでしょうか。 例えば、以下の内容が記載されたバッチファイルを実行すると、 出力の最後に不要な半角スペースが追加されます。    set COMMAND=ping 192.168.0.1 -n 1    echo %COMMAND% >> out.txt

  • Javaでlog4jを使ってログ出力を行っています。

    Javaでlog4jを使ってログ出力を行っています。 環境は以下の通りです。 j2sdk1.4.2 log4j1.2.8 log4j.xml内で指定したログファイル(test.log)を別のアプリで開いた状態で Javaプログラムを実行するとコンソールに以下のエラーが出力されます。 【エラー発生処理】 DOMConfiturator.configure(log4j.xml); 【エラー内容】 log4j:ERROR setFile(null, true) call failed java.io.FileNotFoundException : test.log(プロセスはファイルにアクセスできません。 別のプロセスが使用中です。) ファイルを開いているために書き込めず、エラーになってしまうのは良いのですが、 ログを出力しないだけで処理自体は続行してしまいます。 (ログを書き込めなかったらそこで処理を終了したいです。) 「書き込めなかった場合に例外をcatchする」等のことは可能でしょうか?

    • ベストアンサー
    • Java