リスナーでの作業中、リスナーのログ機能を使って入力したテキストや出力された結果をすべてテキスト ファイルに取り込むことができます。
いずれかのペインに入力されたテキストと出力ペインに出力された内容だけがキャプチャされます。
マクロ レコーダの出力はキャプチャされません。
ログ処理は、openLog()
メソッドでオンにします。
openLog <filename_string> [ mode: "w" | "a" ] [ outputOnly:<boolean> ] [bufferedWrite:<boolean>]
ここで、<filename_string>
は、文字列として評価される文字列リテラルや式であり、作成されるログ ファイル名を指定します。
完全なパスが指定されていない場合に filename_string
が検索されるディレクトリのリストについては、「ファイル アクセス関数の検索動作」を参照してください。
例:
openLog "my_log.txt"
または
logfile="my_log.txt" openLog logfile
既定のモード(mode:"w"
)では、新規ファイルを作成するか、既存ファイルを上書きします。
既存のファイルにログの結果を追加するには、mode:"a"
を指定します。
指定されたファイルが存在しない場合は、エラー メッセージが生成されます。
既定では、入出力の両方がログされます。MAXScript 出力だけをログ処理するには、outputOnly:true
を指定します。
例
openLog "my_log.txt" mode:"a" outputOnly:true
これは、MAXScript 出力だけをファイル *my_log.txt*
に追加します。
3ds Max 2017.1 Update 以降で使用可能: 既定では、ログは中間キャッシュに書き込まれます。bufferedWrite が false の場合、ログはディスクに直接書き込まれます。これは、新しいプラグインをテストする場合のように、クラッシュが発生する可能性がある場合に便利です。
ログ ファイルが既に開いている場合は、openlog()
メソッドでそのログ ファイルを閉じます。
MAXScript は、ログ処理が停止されるまで、リスナー アクティビティが発生するたびにログ ファイルへの書き込みを続けます。
ログ ファイル データは、連続してファイルに書き込まれるのではなく、メモリ内のバッファにログ データが書き込まれ、そのバッファがデータで満たされるとファイルに書き込まれます。
ログのバッファをフラッシュして、すべての出力がファイルに書き込まれるようにするには、flushLog()
メソッドを使用します。
flushLog()
ログ処理を停止してログのバッファをフラッシュし、ログ ファイルを閉じるには、closeLog()
メソッドを使用します。
closeLog()
開いているログ ファイルがないときに flushLog()
または closeLog()
メソッドが呼び出されても、エラー メッセージは生成されません。
ログが openLog()
によって作成されている場合に、ログ ファイルの名前を取得するには、getLog()
関数を使用します。
{<string>|<undefined>} getLog()