From 5ebf67efee2893c4d3dc60ec31a0efeb0894d245 Mon Sep 17 00:00:00 2001 From: David Sommerseth Date: Fri, 5 Feb 2010 15:33:39 +0100 Subject: Added logging flag to log_append() to change log behaviour Valid flags are: * LOGFL_NORMAL Log all messages to the log context, and send log message to stderr on errors * LOGFL_NODUPS Log only unique messages. Duplicated messages will be removed * LOGFL_NOSTDERR Don't write to stderr, even if errors occur --- src/xmlpythonizer.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/xmlpythonizer.c') diff --git a/src/xmlpythonizer.c b/src/xmlpythonizer.c index 8596a9d..5342bac 100644 --- a/src/xmlpythonizer.c +++ b/src/xmlpythonizer.c @@ -304,7 +304,7 @@ inline ptzTYPES _convert_maptype(Log_t *logp, const char *str) { } else if( strcmp(str, "list:dict") == 0 ) { return ptzLIST_DICT; } else { - log_append(logp, LOG_WARNING, + log_append(logp, LOGFL_NORMAL, LOG_WARNING, "Unknown field type: %s - defaulting to 'constant'\n", str); return ptzCONST; } @@ -463,7 +463,7 @@ ptzMAP *_dmimap_parse_mapping_node_typeid(Log_t *logp, xmlNode *mapnode, const c node = dmixml_FindNodeByAttr_NoCase(mapnode, "TypeMap", "id", typeid); if( node == NULL ) { // No exception handling possible here, as we don't return PyObject - log_append(logp, LOG_WARNING, "** WARNING: Could not find any XML->Python " + log_append(logp, LOGFL_NODUPS, LOG_WARNING, "** WARNING: Could not find any XML->Python " "mapping for type ID '%s'", typeid); return NULL; } @@ -665,7 +665,7 @@ inline PyObject *StringToPyObj(Log_t *logp, ptzMAP *val_m, const char *instr) { break; default: - log_append(logp, LOG_WARNING, + log_append(logp, LOGFL_NODUPS, LOG_WARNING, "Invalid type '%i' for value '%s'\n", val_m->type_value, instr); value = Py_None; @@ -737,7 +737,7 @@ char *_get_key_value(Log_t *logp, char *key, size_t buflen, break; default: - log_append(logp, LOG_WARNING, "Unknown key type: %i\n", map_p->type_key); + log_append(logp, LOGFL_NODUPS, LOG_WARNING, "Unknown key type: %i\n", map_p->type_key); return NULL; } // We consider to have a key, if the first byte is a readable @@ -999,7 +999,7 @@ PyObject *_deep_pythonize(Log_t *logp, PyObject *retdata, break; default: - log_append(logp, LOG_WARNING, "Unknown value type: %i\n", map_p->type_value); + log_append(logp, LOGFL_NODUPS, LOG_WARNING, "Unknown value type: %i\n", map_p->type_value); break; } @@ -1070,7 +1070,7 @@ PyObject *pythonizeXMLnode(Log_t *logp, ptzMAP *in_map, xmlNode *data_n) { } #ifdef DEBUG else { - log_append(logp, LOG_WARNING, + log_append(logp, LOGFL_NODUPS, LOG_WARNING, "** pythonizeXMLnode :: Could not locate node for key value: " "root path '%s', key '%s'\n", map_p->rootpath, map_p->key); } -- cgit