David Sfiligoi
webmaster at world-vr.com
Sun Mar 29 22:15:31 EDT 2009
Hi Graham, Yes I agree defining my logger outside the mod python handler was a bad idea. Using the req.log_error works of course. Obviously if I wanted integrate this into all the other apps that revolve around those logs, i'd have to write a converter or change each apps which parses the log data. I'd like to understand this a bit better, perhaps I have the wrong basic idea on how the python handler works in overall, but if I install the log handler in the handler function and delete the log objects before ending, shouldn't that take care of the multiple logging issue? Or are you saying that each piece of code that should not produce multiple entries of the same thing should really be inside a module so I can let import_module() take care of it? Im seeing the same 'multiplicity' issue when I open a socket while in handler function. This is really what trigger the question. Thanks, David On Sunday 29 March 2009 05:45:01 am Graham Dumpleton wrote: > > If you change a mod_python handler script, it will be automatically > reloaded. This would be a problem in your code as you installed a log > handler each time it is loaded into the same process. Having multiple > instances of the log handler installed would result in the same > information possibly being logged multiple times. > > I would suggest you add inside your handler script: > > req.log_error("I have been called") > > If that appears twice in the Apache error log file then I would be > concerned, otherwise I would say the problem is with your use of the > logging module. > > Also read about import_module() in: > > http://www.modpython.org/live/current/doc-html/pyapi-apmeth.html > > as it explains a bit about module reloading and the way to preserve > global data or avoid stuff which performs additive operations each > time it is loaded. > > Graham
|