error_log

Send an error message to the defined error handling routines

&reftitle.description; `bool` `error_log` `string` `message` `int` `message_type` 0 ``string``null```destination`&null; ``string``null```additional_headers`&null;

Sends an error message to the web server's error log or to a file.

&reftitle.parameters;

`message`

- The error message that should be logged.

`message_type`

- Says where the error should go. The possible message types are as follows:

  ## `error_log` log types

  0 | `message` is sent to PHP's system logger, using the Operating System's system logging mechanism or a file, depending on what the error_log configuration directive is set to. This is the default option.
  1 | `message` is sent by email to the address in the `destination` parameter. This is the only message type where the fourth parameter, `additional_headers` is used.
  2 | No longer an option.
  3 | `message` is appended to the file `destination`. A newline is not automatically added to the end of the `message` string.
  4 | `message` is sent directly to the SAPI logging handler.

`destination`

- The destination. Its meaning depends on the `message_type` parameter as described above.

`additional_headers`

- The extra headers. It's used when the `message_type` parameter is set to `1`. This message type uses the same internal function as `mail` does.

&reftitle.returnvalues;

&return.success; If `message_type` is zero, this function always returns &true;, regardless of whether the error could be logged or not.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `destination` and `additional_headers` are now nullable.

&reftitle.examples;

### `error_log` examples

    <?php
    // Send notification through the server log if we can not
    // connect to the database.
    if (!Ora_Logon($username, $password)) {
        error_log("Oracle database not available!", 0);
    }

    // Notify administrator by email if we run out of FOO
    if (!($foo = allocate_new_foo())) {
        error_log("Big trouble, we're all out of FOOs!", 1,
                   "operator@example.com");
    }

    // another way to call error_log():
    error_log("You messed up!", 3, "/var/tmp/my-errors.log");
    ?>

&reftitle.notes;

`error_log` is not binary safe. `message` will be truncated by null character.

`message` should not contain null character. Note that `message` may be sent to file, mail, syslog, etc. Use appropriate conversion/escape function, `base64_encode`, `rawurlencode` or `addslashes` before calling `error_log`.