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, ...)
|