|
Posted by Eli on 10/04/09 11:10
Richard Lynch wrote:
>>I'm writing a shell script that uses error_log function to log some
>>data, but it echos the error message to the output without logging the
>>message to the log file.
>
>
> "the log file"...
>
> *WHAT* log file?
>
> A shell script has no pre-determined log file, really.
>
> Actually, it's almost for sure STDOUT at that point, or maybe STDOUT, but
> I doubt it. If you were coding PHP engine and needed to send error output
> somewhere under shell circumstances, you'd think STDOUT would be "it"
> right?...
>
> So you can probably re-direct 2 (STDOUT) to somewhere to get the error_log
> output where you want it.
>
> I think in most shells that turns into:
> test.php 2> /var/log/test
> YMMV
> It's up to you to figure out re-directs in your shell of choice. Good luck.
>
> You should probably use can use set_error_handler to trap errors -- though
> that will not catch error_log output, I don't think.
>
> You can also use set_error_reporting() to get rid of errors entirely,
> though that's not recommended.
>
I don't really need it to log into a file, but I wanted to prevent it
from echoing to the screen.
So I guess there's no way to prevent from error_log() (using defaults)
to echo to the screen (STDOUT).
error_reporting() affects on errors produced by PHP itself. I tried to
set it to 0 before the call, but it didn't help.
set_error_handler() affects on trigger_error() and not on error_log().
It seems that the extern lib I use should use trigger_error() (or
user_error()) function instead, which is the traditional way to report
user-defined errors.
Thanks for your help all...
Navigation:
[Reply to this message]
|