diff --git a/core/Scheduler/Scheduler.php b/core/Scheduler/Scheduler.php
index 68c78135ade668b5e87002480ca4efbdd4fdfd55..7156e1be9c6ff24c7bc936e17d54b8a514d46bd5 100644
--- a/core/Scheduler/Scheduler.php
+++ b/core/Scheduler/Scheduler.php
@@ -10,6 +10,7 @@ namespace Piwik\Scheduler;
 
 use Exception;
 use Piwik\Timer;
+use Psr\Log\LoggerInterface;
 
 /**
  * Schedules task execution.
@@ -62,10 +63,16 @@ class Scheduler
      */
     private $loader;
 
-    public function __construct(TaskLoader $loader)
+    /**
+     * @var LoggerInterface
+     */
+    private $logger;
+
+    public function __construct(TaskLoader $loader, LoggerInterface $logger)
     {
         $this->timetable = new Timetable();
         $this->loader = $loader;
+        $this->logger = $logger;
     }
 
     /**
@@ -85,6 +92,8 @@ class Scheduler
     {
         $tasks = $this->loader->loadTasks();
 
+        $this->logger->debug('{count} scheduled tasks loaded', array('count' => count($tasks)));
+
         // remove from timetable tasks that are not active anymore
         $this->timetable->removeInactiveTasks($tasks);
 
@@ -131,6 +140,8 @@ class Scheduler
      */
     public function rescheduleTask(Task $task)
     {
+        $this->logger->debug('Rescheduling task {task}', array('task' => $task->getName()));
+
         $this->timetable->rescheduleTask($task);
     }
 
@@ -166,6 +177,8 @@ class Scheduler
      */
     private function executeTask($task)
     {
+        $this->logger->debug('Running task {task}', array('task' => $task->getName()));
+
         try {
             $timer = new Timer();
             call_user_func(array($task->getObjectInstance(), $task->getMethodName()), $task->getMethodParameter());
diff --git a/tests/PHPUnit/Unit/Scheduler/SchedulerTest.php b/tests/PHPUnit/Unit/Scheduler/SchedulerTest.php
index 7c06370b07573ef49f660451eeda3262f006042a..2547d3e5e929dbef64ede4fdb18647747165f675 100644
--- a/tests/PHPUnit/Unit/Scheduler/SchedulerTest.php
+++ b/tests/PHPUnit/Unit/Scheduler/SchedulerTest.php
@@ -13,6 +13,7 @@ use Piwik\Scheduler\Scheduler;
 use Piwik\Scheduler\Task;
 use Piwik\Scheduler\Timetable;
 use Piwik\Tests\Framework\Mock\PiwikOption;
+use Psr\Log\NullLogger;
 use ReflectionProperty;
 
 /**
@@ -50,7 +51,7 @@ class SchedulerTest extends \PHPUnit_Framework_TestCase
         self::stubPiwikOption($timetable);
 
         $taskLoader = $this->getMock('Piwik\Scheduler\TaskLoader');
-        $scheduler = new Scheduler($taskLoader);
+        $scheduler = new Scheduler($taskLoader, new NullLogger());
 
         $this->assertEquals($expectedTime, $scheduler->getScheduledTimeForMethod($className, $methodName, $methodParameter));
 
@@ -159,7 +160,7 @@ class SchedulerTest extends \PHPUnit_Framework_TestCase
         // stub the piwik option object to control the returned option value
         self::stubPiwikOption(serialize($timetableBeforeTaskExecution));
 
-        $scheduler = new Scheduler($taskLoader);
+        $scheduler = new Scheduler($taskLoader, new NullLogger());
 
         // execute tasks
         $executionResults = $scheduler->run();