diff --git a/include/dynamic-graph/logger.h b/include/dynamic-graph/logger.h
index 0a62dc1626cbe77715642a86f0e8f2b33cd50a54..884c943ed3512c93bfe3ade9ef6c2a090f46837e 100644
--- a/include/dynamic-graph/logger.h
+++ b/include/dynamic-graph/logger.h
@@ -61,7 +61,7 @@ namespace dynamicgraph {
 #define SEND_WARNING_STREAM_MSG(msg) SEND_MSG(msg, MSG_TYPE_WARNING_STREAM)
 #define SEND_ERROR_STREAM_MSG(msg) SEND_MSG(msg, MSG_TYPE_ERROR_STREAM)
 
-/*template<typename T>
+template<typename T>
 std::string toString(const T& v, const int precision=3, const int width=-1)
 {
   std::stringstream ss;
@@ -70,20 +70,20 @@ std::string toString(const T& v, const int precision=3, const int width=-1)
   else
     ss<<std::fixed<<std::setprecision(precision)<<v;
   return ss.str();
-}*/
+}
 
 template <typename T>
 std::string toString(const std::vector<T> &v, const int precision = 3,
                      const int width = -1, const std::string separator = ", ") {
   std::stringstream ss;
   if (width > precision) {
-    for (int i = 0; i < v.size() - 1; i++)
+    for (unsigned int i = 0; i < v.size() - 1; i++)
       ss << std::fixed << std::setw(width) << std::setprecision(precision)
          << v[i] << separator;
     ss << std::fixed << std::setw(width) << std::setprecision(precision)
        << v[v.size() - 1];
   } else {
-    for (int i = 0; i < v.size() - 1; i++)
+    for (unsigned int i = 0; i < v.size() - 1; i++)
       ss << std::fixed << std::setprecision(precision) << v[i] << separator;
     ss << std::fixed << std::setprecision(precision) << v[v.size() - 1];
   }
@@ -96,13 +96,13 @@ std::string toString(const Eigen::MatrixBase<T> &v, const int precision = 3,
                      const int width = -1, const std::string separator = ", ") {
   std::stringstream ss;
   if (width > precision) {
-    for (int i = 0; i < v.size() - 1; i++)
+    for (unsigned int i = 0; i < v.size() - 1; i++)
       ss << std::fixed << std::setw(width) << std::setprecision(precision)
          << v[i] << separator;
     ss << std::fixed << std::setw(width) << std::setprecision(precision)
        << v[v.size() - 1];
   } else {
-    for (int i = 0; i < v.size() - 1; i++)
+    for (unsigned int i = 0; i < v.size() - 1; i++)
       ss << std::fixed << std::setprecision(precision) << v[i] << separator;
     ss << std::setprecision(precision) << v[v.size() - 1];
   }
diff --git a/tests/debug-logger.cpp b/tests/debug-logger.cpp
index d6b9ed91a8cf9677dc3a4f5d01ce34135fb22e81..db15ee05b0c7a6d46e13a6d039b5217548050658 100644
--- a/tests/debug-logger.cpp
+++ b/tests/debug-logger.cpp
@@ -50,7 +50,16 @@ public:
             MSG_TYPE_WARNING_STREAM);
     sendMsg("This is a message of level MSG_TYPE_ERROR_STREAM",
             MSG_TYPE_ERROR_STREAM);
-
+    /* Add test toString */
+    double q=1.0;
+    sendMsg("Value to display: "+toString(q));
+    std::vector<double> vq;
+    vq.resize(3);
+    vq[0] = 1.0; vq[1] = 2.0; vq[2] = 3.0;
+    sendMsg("Value to display: "+toString(vq));
+    Eigen::Matrix<double,3,3> an_eig_m;
+    an_eig_m.Ones();
+    sendMsg("Value to display: "+toString(an_eig_m));
     logger_.countdown();
   }
 };