diff --git a/node_modules/thread-loader/dist/WorkerPool.js b/node_modules/thread-loader/dist/WorkerPool.js
index 4145779..f0ff068 100644
--- a/node_modules/thread-loader/dist/WorkerPool.js
+++ b/node_modules/thread-loader/dist/WorkerPool.js
@@ -258,6 +258,19 @@ class PoolWorker {
           finalCallback();
           break;
         }
+      case 'logMessage':
+        {
+          const {
+            data: { loggerName, methodName, args }
+          } = message;
+          const {
+            data: jobData
+          } = this.jobs[id];
+          const logger = jobData.getLogger(loggerName);
+          logger[methodName].apply(logger, args);
+          finalCallback();
+          break;
+        }
       case 'emitWarning':
         {
           const {
diff --git a/node_modules/thread-loader/dist/index.js b/node_modules/thread-loader/dist/index.js
index 75cd30f..d834af6 100644
--- a/node_modules/thread-loader/dist/index.js
+++ b/node_modules/thread-loader/dist/index.js
@@ -43,6 +43,7 @@ function pitch() {
     sourceMap: this.sourceMap,
     emitError: this.emitError,
     emitWarning: this.emitWarning,
+    getLogger: this.getLogger,
     loadModule: this.loadModule,
     resolve: this.resolve,
     getResolve: this.getResolve,
diff --git a/node_modules/thread-loader/dist/worker.js b/node_modules/thread-loader/dist/worker.js
index 8e67959..aca94f1 100644
--- a/node_modules/thread-loader/dist/worker.js
+++ b/node_modules/thread-loader/dist/worker.js
@@ -90,6 +90,22 @@ function writeJson(data) {
   writePipeWrite(lengthBuffer);
   writePipeWrite(messageBuffer);
 }
+const LOGGER_METHODS = ['error', 'warn', 'info', 'log', 'debug', 'trace', 'group', 'groupEnd', 'groupCollapsed', 'status', 'clear', 'profile', 'profileEnd'];
+class Logger {
+  constructor(id, loggerName) {
+    this.id = id
+    this.loggerName = loggerName
+    for (const methodName of LOGGER_METHODS) {
+      this[methodName] = (...args) => {
+        writeJson({
+          type: 'logMessage',
+          id: this.id,
+          data: { loggerName, methodName, args }
+        })
+      }
+    }
+  }
+}
 const queue = (0, _queue.default)(({
   id,
   data
@@ -190,6 +206,7 @@ const queue = (0, _queue.default)(({
           }
           return options;
         },
+        getLogger: (name) => new Logger(id, name),
         emitWarning: warning => {
           writeJson({
             type: 'emitWarning',
@@ -211,6 +228,9 @@ const queue = (0, _queue.default)(({
           module._compile(code, filename); // eslint-disable-line no-underscore-dangle
           return module.exports;
         },
+        addDependency: filename => {
+          buildDependencies.push(filename);
+        },
         addBuildDependency: filename => {
           buildDependencies.push(filename);
         },