sys.path.append('/usr/share/plc_api')
sys.stdout = sys.stderr
import traceback
-from PLC.Debug import log
+from PLC.Logger import logger
from PLC.API import PLCAPI
-api = PLCAPI()
-
def application(environ, start_response):
try:
status = '200 OK'
</body></html>
"""
else:
+ # Thomas Dreibholz <dreibh@simula.no>
+ # Note that this function is called within multiple threads!
+ # "api" MUST be a local variable instead of a global one.
+ # Otherwise, this causes concurrent accesses to the same
+ # object within different threads!
+ api = PLCAPI()
api.environ = environ
content_type = 'text/xml'
ip = environ.get('REMOTE_ADDR')
# Shut down database connection, otherwise up to MaxClients DB
# connections will remain open.
api.db.close()
- except Exception, err:
+ except Exception as err:
status = '500 Internal Server Error'
content_type = 'text/html'
output = 'Internal Server Error'
- print >> log, err, traceback.format_exc()
+ logger.exception("INTERNAL ERROR !!")
# Write response
response_headers = [('Content-type', '%s' % content_type),