On Oct 27, 3:21 pm, climb65 <clim...@free.fr> wrote:
> This class has a destructor which is expected to log something into my log
> file if a crash occurs.
> Well, the destructor works well but during the crash, python has already
> closed the log file and the reference to the Logger has been set to None.
> So, I can't log anything!
>
> How is it possible to solve this problem?
>

Unfortunately, when a process is about to exit (for whatever reason),
things may not shut down in an order you would like. I'd advise
wrapping your main program in an try: except: block. If you have a
main, function, for example:

import logging, sys

logger = logging.getLogger(__name__)

def main():
    #configure logging, say using basicConfig()
    try:
        # here is whatever your main program is doing now
        retcode = 0
    except Exception:
        logger.exception('Exception raised during processing')
        retcode = 1
    sys.exit(retcode)

if __name__ == '__main__':
    main()
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to