David Fraser commented on MODPYTHON-223:

As a side comment that may be relevant, I've had print statements running under 
mod_python in Apache on Windows failing because the LOCALE is set to the C 
locale and so encoding things can cause issues...

> Make sys.stdout/sys.stderr log properly to Apache error logs. 
> --------------------------------------------------------------
>                 Key: MODPYTHON-223
>                 URL: https://issues.apache.org/jira/browse/MODPYTHON-223
>             Project: mod_python
>          Issue Type: New Feature
>          Components: core
>    Affects Versions: 3.3.1
>            Reporter: Graham Dumpleton
> When sys.stderr or sys.stdout are written to directly, or when the 'print' 
> statement is used without a target file object, any text output will make it 
> into the Apache error log files, but it will only get there after a flush has 
> been performed on stdout/stderr. Most of the time the streams will only be 
> flushed when Apache is being shutdown with the result being that the output 
> is far removed in the log file from any other messages that may have been 
> logged at the same time using the normal Apache error logging functions. 
> Further, anything output via stdout/stderr does not have associated with it 
> the error log prefix giving the time the output was generated.
> All this can be improved by replacing sys.stderr and sys.stdout with custom 
> Python objects which buffer any output and flushing it through to the Apache 
> error log using the proper ap_log_error() function after each newline is 
> encountered. This will mean that output appears straight away as soon as 
> newline sent and output will be prefixed with date/time string.
> Do note though that the output cannot be associated with a specific virtual 
> host and thus would go to the main Apache error log file even if each virtual 
> host has its own log file. This is the same as now though when sys.stderr and 
> sys.stdout are used.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to