]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mysql/pgsql: Log prefixes now contain also the hostname.
authorTimo Sirainen <tss@iki.fi>
Wed, 2 Mar 2011 12:57:58 +0000 (14:57 +0200)
committerTimo Sirainen <tss@iki.fi>
Wed, 2 Mar 2011 12:57:58 +0000 (14:57 +0200)
This is useful when there are multiple hosts in use.

src/lib-sql/driver-mysql.c
src/lib-sql/driver-pgsql.c

index b103cfe17ef75204f7255a6ab3a9007415ef8395..3724714fc7923056bbada5c1369ab2ef41bddfe9 100644 (file)
@@ -52,6 +52,11 @@ extern const struct sql_db driver_mysql_db;
 extern const struct sql_result driver_mysql_result;
 extern const struct sql_result driver_mysql_error_result;
 
+static const char *mysql_prefix(struct mysql_db *db)
+{
+       return t_strdup_printf("mysql(%s)", db->host);
+}
+
 static int driver_mysql_connect(struct sql_db *_db)
 {
        struct mysql_db *db = (struct mysql_db *)_db;
@@ -105,15 +110,14 @@ static int driver_mysql_connect(struct sql_db *_db)
        alarm(0);
        if (failed) {
                sql_db_set_state(&db->api, SQL_DB_STATE_DISCONNECTED);
-               i_error("mysql: Connect failed to %s (%s): %s - "
+               i_error("%s: Connect failed to database (%s): %s - "
                        "waiting for %u seconds before retry",
-                       host != NULL ? host : unix_socket, db->dbname,
+                       mysql_prefix(db), db->dbname,
                        mysql_error(db->mysql), db->api.connect_delay);
                return -1;
        } else {
-               i_info("mysql: Connected to %s%s (%s)",
-                      host != NULL ? host : unix_socket,
-                      db->ssl_set ? " using SSL" : "", db->dbname);
+               i_info("%s: Connected to database %s%s", mysql_prefix(db),
+                      db->dbname, db->ssl_set ? " using SSL" : "");
 
                sql_db_set_state(&db->api, SQL_DB_STATE_IDLE);
                return 1;
@@ -266,8 +270,8 @@ static void driver_mysql_exec(struct sql_db *_db, const char *query)
        struct mysql_db *db = (struct mysql_db *)_db;
 
        if (driver_mysql_do_query(db, query) < 0) {
-               i_error("mysql: Query '%s' failed: %s",
-                       query, mysql_error(db->mysql));
+               i_error("%s: Query '%s' failed: %s",
+                       mysql_prefix(db), query, mysql_error(db->mysql));
        }
 }
 
index 54ec981e9d15af203a5fc83fa1b2d814fb716b2b..16098b868f51133bb073b95a59d24a710cf7af32 100644 (file)
@@ -73,6 +73,11 @@ extern const struct sql_result driver_pgsql_result;
 
 static void result_finish(struct pgsql_result *result);
 
+static const char *pgsql_prefix(struct pgsql_db *db)
+{
+       return t_strdup_printf("pgsql(%s)", db->host);
+}
+
 static void driver_pgsql_set_state(struct pgsql_db *db, enum sql_db_state state)
 {
        i_assert(state == SQL_DB_STATE_BUSY || db->cur_result == NULL);
@@ -150,8 +155,8 @@ static void connect_callback(struct pgsql_db *db)
        case PGRES_POLLING_OK:
                break;
        case PGRES_POLLING_FAILED:
-               i_error("pgsql: Connect failed to %s: %s",
-                       PQdb(db->pg), last_error(db));
+               i_error("%s: Connect failed to database %s: %s",
+                       pgsql_prefix(db), PQdb(db->pg), last_error(db));
                driver_pgsql_close(db);
                return;
        }
@@ -162,7 +167,8 @@ static void connect_callback(struct pgsql_db *db)
        }
 
        if (io_dir == 0) {
-               i_info("pgsql: Connected to %s", PQdb(db->pg));
+               i_info("%s: Connected to database %s",
+                      pgsql_prefix(db), PQdb(db->pg));
                if (db->to_connect != NULL)
                        timeout_remove(&db->to_connect);
                driver_pgsql_set_state(db, SQL_DB_STATE_IDLE);
@@ -176,11 +182,10 @@ static void connect_callback(struct pgsql_db *db)
 
 static void driver_pgsql_connect_timeout(struct pgsql_db *db)
 {
-       const char *dbname = PQdb(db->pg);
        unsigned int secs = ioloop_time - db->api.last_connect_try;
 
-       i_error("pgsql: Connect failed to %s: Timeout after %u seconds",
-               dbname != NULL ? dbname : db->host, secs);
+       i_error("%s: Connect failed: Timeout after %u seconds",
+               pgsql_prefix(db), secs);
        driver_pgsql_close(db);
 }
 
@@ -191,19 +196,21 @@ static int driver_pgsql_connect(struct sql_db *_db)
        i_assert(db->api.state == SQL_DB_STATE_DISCONNECTED);
 
        db->pg = PQconnectStart(db->connect_string);
-       if (db->pg == NULL)
-               i_fatal("pgsql: PQconnectStart() failed (out of memory)");
+       if (db->pg == NULL) {
+               i_fatal("%s: PQconnectStart() failed (out of memory)",
+                       pgsql_prefix(db));
+       }
 
        if (PQstatus(db->pg) == CONNECTION_BAD) {
-               i_error("pgsql: Connect failed to %s: %s",
-                       PQdb(db->pg), last_error(db));
+               i_error("%s: Connect failed to database %s: %s",
+                       pgsql_prefix(db), PQdb(db->pg), last_error(db));
                driver_pgsql_close(db);
                return -1;
        }
 
        /* nonblocking connecting begins. */
        if (PQsetnonblocking(db->pg, 1) < 0)
-               i_error("pgsql: PQsetnonblocking() failed");
+               i_error("%s: PQsetnonblocking() failed", pgsql_prefix(db));
        i_assert(db->to_connect == NULL);
        db->to_connect = timeout_add(SQL_CONNECT_TIMEOUT_SECS * 1000,
                                     driver_pgsql_connect_timeout, db);
@@ -428,7 +435,7 @@ static void query_timeout(struct pgsql_result *result)
 
        driver_pgsql_stop_io(db);
 
-       i_error("pgsql: Query timed out, aborting");
+       i_error("%s: Query timed out, aborting", pgsql_prefix(db));
        result->timeout = TRUE;
        result_finish(result);
 }
@@ -494,7 +501,7 @@ static void exec_callback(struct sql_result *_result,
 {
        struct pgsql_db *db = (struct pgsql_db *)_result->db;
 
-       i_error("pgsql: sql_exec() failed: %s", last_error(db));
+       i_error("%s: sql_exec() failed: %s", pgsql_prefix(db), last_error(db));
 }
 
 static void driver_pgsql_exec(struct sql_db *db, const char *query)