Apache Mod-Python - Commented: (MODPYTHON-223) Make sys.stdout/sys.stderr log

This is Interesting: Free IT Magazines  
Home > Archive > Apache Mod-Python > May 2007 > Commented: (MODPYTHON-223) Make sys.stdout/sys.stderr log





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Commented: (MODPYTHON-223) Make sys.stdout/sys.stderr log
David Fraser (JIRA)

2007-05-11, 1:12 pm


[ https://issues.apache.org/jira/brow...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 stdou

t/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.



Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com