On Tuesday, 15 July 2014 at 17:41:09 UTC, Jeremy Powers via Digitalmars-d wrote:
I believe to do this with the current setup, you would need some standard 'dispatcher' logger, and have every user of logging use it. Then could configure the dispatcher as needed for your case without modifying all the
code to use a different logger.

If there is a standard dispatcher with calling conventions that all libraries use (e.g. logging.debug(), logging.info(), logging.error() etc) then I guess I could use textual search and replace to retrofit the standard API with my own inlined logger. Customization of the logging API or too many variations could make that difficult or impossible.

Virtual functions, locking etc should be avoided so that you can do very low overhead full logging on a live server that is under attack. Basically just writing some bytes to a set of thread local ring-buffers with timing information, then collect and merge them on a crash for analysis so you can get the gory details that lead to the crash and do emergency patching asap.

Reply via email to