diff --git a/src/java/org/apache/nutch/fetcher/FetcherThread.java b/src/java/org/apache/nutch/fetcher/FetcherThread.java
index 77947b64..aedc9c38 100644
--- a/src/java/org/apache/nutch/fetcher/FetcherThread.java
+++ b/src/java/org/apache/nutch/fetcher/FetcherThread.java
@@ -198,7 +198,7 @@ public class FetcherThread extends Thread {
           + " - forcing to byHost");
       queueMode = FetchItemQueues.QUEUE_MODE_HOST;
     }
-    LOG.info("Using queue mode : " + queueMode);
+    LOG.info(Thread.currentThread().toString() + " Using queue mode : " + queueMode);
     this.maxRedirect = conf.getInt("http.redirect.max", 3);
 
     maxOutlinksPerPage = conf.getInt("db.max.outlinks.per.page", 100);
@@ -219,7 +219,7 @@ public class FetcherThread extends Thread {
       if (storingContent) {
         robotsTxtContent = new LinkedList<>();
       } else {
-        LOG.warn("Ignoring fetcher.store.robotstxt because not storing content (fetcher.store.content)!");
+        LOG.warn(Thread.currentThread().toString() + " Ignoring fetcher.store.robotstxt because not storing content (fetcher.store.content)!");
       }
     }
   }
@@ -262,7 +262,7 @@ public class FetcherThread extends Thread {
             continue;
           } else {
             // all done, finish this thread
-            LOG.info("Thread " + getName() + " has no more work available");
+            LOG.info(Thread.currentThread().toString() + " Thread " + getName() + " has no more work available");
             return;
           }
         }
@@ -287,7 +287,7 @@ public class FetcherThread extends Thread {
           
           do {
             if (LOG.isInfoEnabled()) {
-              LOG.info("fetching " + fit.url + " (queue crawl delay="
+              LOG.info(Thread.currentThread().toString() + " fetching " + fit.url + " (queue crawl delay="
                   + ((FetchItemQueues) fetchQueues).getFetchItemQueue(fit.queueID).crawlDelay
                   + "ms)");
             }
@@ -438,7 +438,7 @@ public class FetcherThread extends Thread {
 
             default:
               if (LOG.isWarnEnabled()) {
-                LOG.warn("Unknown ProtocolStatus: " + status.getCode());
+                LOG.warn(Thread.currentThread().toString() + " Unknown ProtocolStatus: " + status.getCode());
               }
               output(fit.url, fit.datum, null, status,
                   CrawlDatum.STATUS_FETCH_RETRY);
@@ -447,7 +447,7 @@ public class FetcherThread extends Thread {
             if (redirecting && redirectCount > maxRedirect) {
               ((FetchItemQueues) fetchQueues).finishFetchItem(fit);
               if (LOG.isInfoEnabled()) {
-                LOG.info(" - redirect count exceeded " + fit.url);
+                LOG.info(Thread.currentThread().toString() + "  - redirect count exceeded " + fit.url);
               }
               output(fit.url, fit.datum, null,
                   ProtocolStatus.STATUS_REDIR_EXCEEDED,
@@ -473,7 +473,7 @@ public class FetcherThread extends Thread {
       if (fit != null)
         ((FetchItemQueues) fetchQueues).finishFetchItem(fit);
       activeThreads.decrementAndGet(); // count threads
-      LOG.info("-finishing thread " + getName() + ", activeThreads="
+      LOG.info(Thread.currentThread().toString() + " -finishing thread " + getName() + ", activeThreads="
           + activeThreads);
     }
   }
@@ -577,7 +577,7 @@ public class FetcherThread extends Thread {
 
   private void logError(Text url, String message) {
     if (LOG.isInfoEnabled()) {
-      LOG.info("fetch of " + url + " failed with: " + message);
+      LOG.info(Thread.currentThread().toString() + " fetch of " + url + " failed with: " + message);
     }
     errors.incrementAndGet();
   }
@@ -612,7 +612,7 @@ public class FetcherThread extends Thread {
         scfilters.passScoreBeforeParsing(key, datum, content);
       } catch (Exception e) {
         if (LOG.isWarnEnabled()) {
-          LOG.warn("Couldn't pass score, url " + key + " (" + e + ")");
+          LOG.warn(Thread.currentThread().toString() + " Couldn't pass score, url " + key + " (" + e + ")");
         }
       }
       /*
@@ -625,7 +625,7 @@ public class FetcherThread extends Thread {
           try {
             parseResult = this.parseUtil.parse(content);
           } catch (Exception e) {
-            LOG.warn("Error parsing: " + key + ": "
+            LOG.warn(Thread.currentThread().toString() + " Error parsing: " + key + ": "
                 + StringUtils.stringifyException(e));
           }
         }
@@ -657,7 +657,7 @@ public class FetcherThread extends Thread {
           ParseData parseData = parse.getData();
 
           if (!parseStatus.isSuccess()) {
-            LOG.warn("Error parsing: " + key + ": " + parseStatus);
+            LOG.warn(Thread.currentThread().toString() + " Error parsing: " + key + ": " + parseStatus);
             parse = parseStatus.getEmptyParse(conf);
           }
 
@@ -678,7 +678,7 @@ public class FetcherThread extends Thread {
             scfilters.passScoreAfterParsing(url, content, parse);
           } catch (Exception e) {
             if (LOG.isWarnEnabled()) {
-              LOG.warn("Couldn't pass score, url " + key + " (" + e + ")");
+              LOG.warn(Thread.currentThread().toString() + " Couldn't pass score, url " + key + " (" + e + ")");
             }
           }
 
