Function 関数

NSLogv(_:_:)

Logs an error message to the Apple System Log facility. エラーメッセージを「Appleシステムログ」機能に記録します。

Declaration 宣言

func NSLogv(_ format: String, 
          _ args: CVaListPointer)

Discussion 議論

Logs an error message to the Apple System Log facility (see man 3 asl). If the STDERR_FILENO file descriptor has been redirected away from the default or is going to a tty, it will also be written there. If you want to direct output elsewhere, you need to use a custom logging facility. エラーメッセージを「Appleシステムログ」機能に記録します(man 3 aslを見てください)。STDERR_FILENOファイル記述子が初期状態から離れてリダイレクトされたまたはttyに向かっているならば、それは同様にそこに書き込まれます。あなたが直接にどこか他に出力したいならば、あなたはあつらえのログ機能を使う必要があります。

The message consists of a timestamp and the process ID prefixed to the string you pass in. You compose this string with a format string, format, and one or more arguments to be inserted into the string. The format specification allowed by these functions is that which is understood by NSString’s formatting capabilities (which is not necessarily the set of format escapes and flags understood by printf). The supported format specifiers are described in String Format Specifiers. A final hard return is added to the error message if one is not present in the format. メッセージは、あなたが渡す文字列に接頭辞として付けられるタイムスタンプとプロセスIDから構成されます。あなたは、この文字列をフォーマット文字列、format、そして文字列に挿入される1つ以上の引数から組み立てます。これらの関数によって可能にされるフォーマット指定は、NSStringのもつフォーマット能力によって理解されるそれです(それは必ずしもprintfによって理解されるフォーマットエスケープとフラグではありません)。サポートされるフォーマット指定子は、String Format Specifiersで記述されます。末尾のハードリターンは、エラーメッセージに加えられます、もしそれがフォーマットの中に存在しないならば。

In general, you should use the NSLog function instead of calling this function directly. If you do use this function directly, you must have prepared the variable argument list in the args argument by calling the standard C macro va_start. Upon completion, you must similarly call the standard C macro va_end for this list. 一般的に、あなたはNSLog関数を、この関数を直接に呼ぶ代わりに使うべきです。あなたがこの関数を直接に使うならば、あなたは変数引数リストをargs引数の中に、標準C マクロ va_startを呼び出すことによって用意しておく必要があります。完成したら、あなたは同様に標準C マクロ va_endをこのリストに対して呼び出さなければなりません。

Output from NSLogv is serialized, in that only one thread in a process can be doing the writing/logging described above at a time. All attempts at writing/logging a message complete before the next thread can begin its attempts. NSLogvからの出力はシリアライズされます、あるプロセスの中のただ1つのスレッドだけが、上で記述される「書き出し/ログ実行」を一度に行うことができるという点において。あるメッセージの「書き出し/ログ実行」でのすべての試みは、次のスレッドがそれの試みを始める前に完了します。

The effects of NSLogv are not serialized with subsystems other than those discussed above (such as the standard I/O package) and do not produce side effects on those subsystems (such as causing buffered output to be flushed, which may be undesirable). NSLogvの効果は、上で議論されるそれら以外のサブシステム(例えば標準I/Oパッケージなど)ではシリアライズされません、そして副作用をそれらサブシステム上で生み出しません(例えばバッファされた出力が一気に放出されることを引き起こすなど、それは厄介かもしれません)。

See Also 参照

Diagnostics and Debugging 診断とデバッグ

Related Documentation 関連文書