お仕事での話。

DBパッチを作って動作確認をする際、MySQL Monitor(mysql.exe)を使用してコマンドプロンプトで実行しています。エディタで書いたSQLをコマンドプロンプトにペッと貼り付けるイメージです。
このときログが欲しくなるときがあります。が、コマンドプロンプトはファイル書き出し機能がありません。なので、バッファを最大限にして、全選択→コピー&ペーストで取得しています。でも、バッファを超えてしまったらログ取得できないんですよねぇ。
で、なんか良い方法無いかなと思っていたら、MySQL Monitor自体がファイル書き出し機能を持っていると教えて頂きました。

mysql.exe実行時に次のオプションを付けるとファイルに書き出してくれます。
--tee=[file_name]

[file_name]には書き出し先のファイル名を入れてください。カレントディレクトリ以外出力先とするときは、二重引用符("~")で囲いファイル名までのフルパスを入力してください。出力先を「C:\tmp\mysql.log」とする場合は
mysql --tee="C:\tmp\mysql.log"

てな感じです。
mysql.exe実行からexitするまでに出力されるログは次のようになります。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
|            1 |
+--------------+
1 row in set (0.00 sec)

mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
|            0 |
+--------------+
1 row in set (0.00 sec)
mysql> exit

これでバッファの心配をすること無くログを出力することができます。

以下、余談。
プロジェクト内のでDBパッチの動作確認ログとして上のようなログ形式にしてと依頼したのは他ならぬわんちゅうなのですが、前述の通り自分ではコマンドプロンプトの全コピーで取得していました。この方法(コマンドプロンプト全コピ)を展開しなくちゃなーと思っていた中、上記の出力ログを見てteeオプションまでたどり着いたプロジェクトメンバーはすごいなと思いました(その分無駄な工数を使わせてしまって申し訳なかったのですが・・・)。
知りたいことを検索できる技術、これも立派なスキルですよね。