diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2012-03-20 12:11:38 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2012-03-20 12:11:38 +0100 |
commit | e0d69d3e10bae3f108a58c12ca6a3ac3974827d0 (patch) | |
tree | 8cc39972c11ff41c44be7055fcc45599663010e5 /plugins/ommongodb/ommongodb.c | |
parent | bc29adfa8d3cb8f93eac5cf8b4c40a5d26aae154 (diff) | |
download | rsyslog-e0d69d3e10bae3f108a58c12ca6a3ac3974827d0.tar.gz rsyslog-e0d69d3e10bae3f108a58c12ca6a3ac3974827d0.tar.xz rsyslog-e0d69d3e10bae3f108a58c12ca6a3ac3974827d0.zip |
ommongodb: basic error reporting
Diffstat (limited to 'plugins/ommongodb/ommongodb.c')
-rw-r--r-- | plugins/ommongodb/ommongodb.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/plugins/ommongodb/ommongodb.c b/plugins/ommongodb/ommongodb.c index a8429b1b..a247909d 100644 --- a/plugins/ommongodb/ommongodb.c +++ b/plugins/ommongodb/ommongodb.c @@ -123,6 +123,21 @@ CODESTARTdbgPrintInstInfo ENDdbgPrintInstInfo +/* report error that occured during *last* operation + */ +static void +reportMongoError(instanceData *pData) +{ + gchar *err; + if(mongo_sync_cmd_get_last_error(pData->conn, (gchar*)pData->db, &err)) { + errmsg.LogError(0, RS_RET_ERR, "ommongodb: error: %s", err); + } else { + errmsg.LogError(0, RS_RET_ERR, "ommongodb: we had an error, but can " + "not obtain specifics"); + } +} + + /* The following function is responsible for initializing a * MySQL connection. * Initially added 2004-10-28 mmeckelein @@ -137,9 +152,10 @@ static rsRetVal initMongoDB(instanceData *pData, int bSilent) pData->conn = mongo_sync_connect(server, pData->port, TRUE); if(pData->conn == NULL) { - if(!bSilent) - errmsg.LogError(0, RS_RET_SUSPENDED, - "can not initialize MongoDB handle"); + if(!bSilent) { + reportMongoError(pData); + dbgprintf("ommongodb: can not initialize MongoDB handle"); + } ABORT_FINALIZE(RS_RET_SUSPENDED); } @@ -212,11 +228,13 @@ rsRetVal writeMongoDB_msg(msg_t *pMsg, instanceData *pData) if(doc == NULL) { dbgprintf("ommongodb: error creating BSON doc\n"); + reportMongoError(pData); ABORT_FINALIZE(RS_RET_ERR); } bson_finish(doc); if(!mongo_sync_cmd_insert(pData->conn, (char*)pData->dbNcoll, doc, NULL)) { dbgprintf("ommongodb: insert error\n"); + reportMongoError(pData); ABORT_FINALIZE(RS_RET_ERR); } |