[pywin32-checkins] pywin32/com/win32com/src ErrorUtils.cpp, 1.29, 1.30
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2007-09-04 10:32:08
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32199 Modified Files: ErrorUtils.cpp Log Message: add a "warning" capability Index: ErrorUtils.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/ErrorUtils.cpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** ErrorUtils.cpp 7 May 2007 02:33:00 -0000 1.29 --- ErrorUtils.cpp 4 Sep 2007 10:32:03 -0000 1.30 *************** *** 576,582 **** // the "logger" module and my dumb choice of _DoLogger() for logger errors :) // Thankfully both are private. ! static void _DoLogError(const char *fmt, va_list argptr) { ! PyCom_StreamMessage("pythoncom error: "); VLogF(fmt, argptr); PyCom_StreamMessage("\n"); --- 576,582 ---- // the "logger" module and my dumb choice of _DoLogger() for logger errors :) // Thankfully both are private. ! static void _DoLogError(const char *prefix, const char *fmt, va_list argptr) { ! PyCom_StreamMessage(prefix); VLogF(fmt, argptr); PyCom_StreamMessage("\n"); *************** *** 598,601 **** --- 598,606 ---- PyErr_Fetch( &exc_typ, &exc_val, &exc_tb); PyObject *logger = NULL; + char prefix[128]; + strcpy(prefix, "pythoncom "); + strncat(prefix, log_method, 100); + strncat(prefix, ": ", 2); + if (logProvider) logger = PyObject_CallMethod(logProvider, "_GetLogger_", NULL); *************** *** 614,631 **** PyErr_Restore(exc_typ, exc_val, exc_tb); if (!logger || ! !VLogF_Logger(logger, log_method, "pythoncom error: ", fmt, argptr)) // No logger, or logger error - normal stdout stream. ! _DoLogError(fmt, argptr); Py_XDECREF(logger); } - PYCOM_EXPORT - void PyCom_LogError(const char *fmt, ...) - { - va_list marker; - va_start(marker, fmt); - _DoLogger(NULL, "error", fmt, marker); - } - BOOL IsNonServerErrorCurrent() { BOOL rc = FALSE; --- 619,628 ---- PyErr_Restore(exc_typ, exc_val, exc_tb); if (!logger || ! !VLogF_Logger(logger, log_method, prefix, fmt, argptr)) // No logger, or logger error - normal stdout stream. ! _DoLogError(prefix, fmt, argptr); Py_XDECREF(logger); } BOOL IsNonServerErrorCurrent() { BOOL rc = FALSE; *************** *** 649,652 **** --- 646,656 ---- } + PYCOM_EXPORT void PyCom_LoggerWarning(PyObject *logProvider, const char *fmt, ...) + { + va_list marker; + va_start(marker, fmt); + _DoLogger(logProvider, "warning", fmt, marker); + } + PYCOM_EXPORT void PyCom_LoggerNonServerException(PyObject *logProvider, const char *fmt, ...) |