You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-dev@quetz.apache.org by "David Fraser (JIRA)" <ji...@apache.org> on 2007/05/11 14:48:15 UTC

[jira] Commented: (MODPYTHON-223) Make sys.stdout/sys.stderr log properly to Apache error logs.

    [ https://issues.apache.org/jira/browse/MODPYTHON-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12495043 ] 

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.