|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-08-04 01:12 UTC] phpbugs at localpin dot com
[2003-08-04 10:49 UTC] sniper@php.net
[2004-04-08 00:47 UTC] irchtml@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 20:00:02 2025 UTC |
Description: ------------ There is an inconsistency whether error_log gives a newline or not when sending output, only based upon whether the file is not named (message type 0) or named explicitly (message type 3). i.e. when doing "error_log($msg)" a newline is automatically appended, but when doing "error_log($msg, 3, $myfile)" a newline is not automatically appended. e.g. error_log($msg) gives: 1. My msg 2. My msg 3. My msg 4. My msg but error_log($msg, 3, $another_file) gives: 1. My msg 2. My msg 3. M y msg 4. My msg Since in both cases the output is to a file, it seems to me that this is inconsistent. Either BOTH should give an automatic newline, or NEITHER. One can even imagine the case where the filename for both is identical (e.g. both use the file "error.log"), yet because you specify the name of the file explicitly, you don't get a 'free' newline char. Reproduce code: --------------- var $counter = 1; var $log_elsewhere = true; var $msg_prefix = "This is test number: "; var $dev_filename = "c:/Program Files/Apache Group/Apache/logs/dev_error.log";$elsewhere_log_name = while (true) { $msg = $msg_prefix . $counter; if ($log_elsewhere) { error_log($fileline, 3, $dev_filename); // The following line should not be necessary error_log("\n", 3, $dev_filename); } else { error_log($fileline); } $counter++; } Expected result: ---------------- Without the extra newline sending, I would like the output to be identical in both cases.