1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-24 07:02:08 +01:00
Files

221 lines
7.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 769812c12f00c1978bf7dd711dca38dbf05462da Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi,mumumu -->
<refentry xml:id="function.error-log" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>error_log</refname>
<refpurpose>定義されたエラー処理ルーチンにエラーメッセージを送信する</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>error_log</methodname>
<methodparam><type>string</type><parameter>message</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>message_type</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>destination</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>additional_headers</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
エラーメッセージを Web サーバーのエラーログあるいはファイルに送ります。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<para>
ログに記録されるエラーメッセージ。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message_type</parameter></term>
<listitem>
<para>
メッセージをどこに送るのかを指定します。以下の中から指定できます。
</para>
<para>
<table>
<title><function>error_log</function> ログタイプ</title>
<tgroup cols="2">
<tbody>
<row>
<entry>0</entry>
<entry>
<parameter>message</parameter> は PHP のシステムロガーに送られ、
設定ディレクティブ <link linkend="ini.error-log">error_log</link>
の値に応じて、
オペレーティングシステムのシステムログ機構を使って保存されるか、
ファイルに保存されるかが決まります。
これがデフォルトのオプションです。
</entry>
</row>
<row>
<entry>1</entry>
<entry>
<parameter>message</parameter> は、<parameter>destination
</parameter> パラメータで指定されたアドレスに、電子メール
により送られます。このメッセージタイプの場合にのみ、
4 番目のパラメータである <parameter>additional_headers</parameter>
が使われます。
</entry>
</row>
<row>
<entry>2</entry>
<entry>
このオプションは存在しません。
</entry>
</row>
<row>
<entry>3</entry>
<entry>
<parameter>message</parameter><parameter>destination
</parameter> で指定されたファイルに追加されます。
明示的に指定しない限り、<parameter>message</parameter>
最後には改行文字は追加されません。
</entry>
</row>
<row>
<entry>4</entry>
<entry>
<parameter>message</parameter> は、直接 SAPI
のログ出力ハンドラに送信されます。
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>destination</parameter></term>
<listitem>
<para>
メッセージの送信先。その設定は、上で説明している
<parameter>message_type</parameter> パラメータの値によります。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>additional_headers</parameter></term>
<listitem>
<para>
追加のヘッダ。<parameter>message_type</parameter> パラメータが
<literal>1</literal> に設定される場合に利用されます。
このメッセージタイプは、<function>mail</function> と同様に
内部関数を利用します。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
<parameter>message_type</parameter> が0の場合、
エラーがロギング出来たかそうでないかに関わらず、この関数は常に &true; を返します。
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>destination</parameter>
<parameter>additional_headers</parameter> は、nullable になりました。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example role="php">
<title><function>error_log</function> の例</title>
<programlisting role="php">
<![CDATA[
<?php
// データベースに接続できない場合、
// サーバーログを通してエラーを通知する。
if (!Ora_Logon($username, $password)) {
error_log("オラクルのデータベースが使用できません!", 0);
}
// FOO に失敗したら、管理者に email で通知する
if (!($foo = allocate_new_foo())) {
error_log("大変です。FOO に失敗しました!", 1,
"operator@example.com");
}
// これ以外の error_log() のコール方法:
error_log("大変だ!", 3, "/var/tmp/my-errors.log");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<simpara>
<function>error_log</function> はバイナリセーフではありません。
<parameter>message</parameter> に null 文字があれば、そこで切り詰められます。
</simpara>
</warning>
<tip>
<simpara>
<parameter>message</parameter> に null 文字を含めてはいけません。
<parameter>message</parameter> の送り先はファイルやメール、そして syslog などになることもあります。
<function>base64_encode</function><function>rawurlencode</function><function>addslashes</function>
などの関数で適切に変換してから <function>error_log</function> に渡す必要があります。
</simpara>
</tip>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->