469,306 Members | 2,281 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,306 developers. It's quick & easy.

Human readable error_log

Hi,

I'm looking for a function that *returns* a human readable string
representation of an array rather than prints it so I can use it with
the error_log procedure. Any clues?
August
Oct 8 '08 #1
5 13129
August Karlstrom wrote:
Hi,

I'm looking for a function that *returns* a human readable string
representation of an array rather than prints it so I can use it with
the error_log procedure. Any clues?
August
You can use output buffering, or write a function that suits your own
needs.

<URL:http://php.net/manual/en/ref.outcontrol.php>

--
Curtis
Oct 9 '08 #2
On Oct 8, 11:27*pm, August Karlstrom <fusionf...@gmail.comwrote:
Hi,

I'm looking for a function that *returns* a human readable string
representation of an array rather than prints it so I can use it with
the error_log procedure. Any clues?

August
$string = print_r($array,1);

The second param of print_r() is a bool for return value. If true,
print_r() returns the string to your variable instead of printing to
the screen.

RTM here:

http://uk.php.net/manual/en/function.print-r.php
Oct 9 '08 #3
macca wrote:
On Oct 8, 11:27 pm, August Karlstrom <fusionf...@gmail.comwrote:
>Hi,

I'm looking for a function that *returns* a human readable string
representation of an array rather than prints it so I can use it with
the error_log procedure. Any clues?

August

$string = print_r($array,1);

The second param of print_r() is a bool for return value. If true,
print_r() returns the string to your variable instead of printing to
the screen.

RTM here:

http://uk.php.net/manual/en/function.print-r.php
Thanks. I still have a problem though. For some reason the output
contains sequences of `\n' instead of newlines.

Example:

error_log(print_r(Array(1, 2, 3), 1));

Output:

[Thu Oct 09 10:06:37 2008] [error] [client 127.0.0.1] Array\n(\n [0]
=1\n [1] =2\n [2] =3\n)\n, referer: ...
August
Oct 9 '08 #4
August Karlstrom escribió:
Thanks. I still have a problem though. For some reason the output
contains sequences of `\n' instead of newlines.

Example:

error_log(print_r(Array(1, 2, 3), 1));

Output:

[Thu Oct 09 10:06:37 2008] [error] [client 127.0.0.1] Array\n(\n [0]
=1\n [1] =2\n [2] =3\n)\n, referer: ...
error_log() sends errors either to a file or to system logging; the
latter might not support multi-line output. I've tried this code in
Windows XP from command line:

<?php
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
error_log(print_r(Array(1, 2, 3), 1));
?>

It does save line feeds, but it mixes different line endings:
- Lines themselves use Windows line endings (\r\n)
- print_r() uses Unix line endings (\n)

So the log looks ugly in Notepad but looks normal in almost any other
editor. Your customer logger can take care of that. This works for me:

<?php
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
error_log(
strtr(
print_r(Array(1, 2, 3), 1),
array(
"\r\n" =PHP_EOL,
"\r" =PHP_EOL,
"\n" =PHP_EOL,
)
)
);
?>
--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://bits.demogracia.com
-- Mi web de humor al baño María: http://www.demogracia.com
--
Oct 9 '08 #5
Álvaro G. Vicario wrote:
August Karlstrom escribió:
>Thanks. I still have a problem though. For some reason the output
contains sequences of `\n' instead of newlines.

Example:

error_log(print_r(Array(1, 2, 3), 1));

Output:

[Thu Oct 09 10:06:37 2008] [error] [client 127.0.0.1] Array\n(\n
[0] =1\n [1] =2\n [2] =3\n)\n, referer: ...

error_log() sends errors either to a file or to system logging; the
latter might not support multi-line output.
[...]

OK, thanks for the information Álvaro.
August
Oct 10 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

13 posts views Thread by Maxim Khesin | last post: by
9 posts views Thread by Alex Willmer | last post: by
4 posts views Thread by John Baro | last post: by
5 posts views Thread by Captain Dondo | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by harlem98 | last post: by
reply views Thread by harlem98 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.