Hello again list, I didn't expect to be back so soon. :) I'm trying to log my new script, and logger.info() works fine. However, logger.exception() doesn't; I see the exception print to stderr, and it never appears in the log. Oddly, info messages after that appear in the shell and in my log, whereas normally they are only in the log. Here's my logger setup:
logger = logging.getLogger(appName) logger.setLevel(logging.DEBUG) infoLogFormatter = logging.Formatter("%(asctime)s\n%(name)s, %(levelname)s: %(message)s", datefmt = "%I:%M:%S %p, %B %d, %Y") infoLogFileName = appName+".log" infoFileHandler = logging.FileHandler(infoLogFileName, mode="w") infoFileHandler.level = logging.INFO infoFileHandler.setFormatter(infoLogFormatter) logger.addHandler(infoFileHandler) Then, I deliberately called a non-existant function: for rep in reps: try: workbook = xlsxwriter.Workbook(workbookName) worksheet = workbook.addWorksheet(rep.name) #should be add_worksheet, so this errors out except: logging.exception("Error generating spreadsheet for {name}".format(name= rep.name)) The string I pass to logging.exception, along with the stack trace, print to the command line and not to my log file. Other logging.info() calls also print to the command line, but they also appear in the log. I haven't done much with logging before, and what I have done has been debug only, never exceptions. The resolution to this will likely be obvious, but when I looked it up, I found only information about how to log exceptions. No one seems to have the problem of exceptions not being logged correctly. As a quick aside, is there an easy way to halt script execution for some exceptions? Right now, catching them means that execution continues, but I sometimes want to log the problem and then abort the script, as the error means it shouldn't continue. Thanks. -- Alex Hall Automatic Distributors, IT department ah...@autodist.com _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor