diff --git a/SpotifyRecorder.py b/SpotifyRecorder.py
index 899a31cc8fdeafe407f8485253ff61ae599ea411..cb83ee5f37bd40a3c4634f5dc1d21441d681a7d0 100644
--- a/SpotifyRecorder.py
+++ b/SpotifyRecorder.py
@@ -85,27 +85,29 @@ class SpotifyRecorder:
     def __record_tracks(self, tracks: list):
         deviceId = self.__get_device_id_by_name(self._spotifyDeviceName)
 
-        recordedTracks = []
-        skippedTracks = []
-        errorTracks = []
+        recordedTrackNumbers = []
+        skippedTrackNumbers = []
+        errorTrackNumbers = []
 
         if self._limit == -1:
             LOGGER.info(f'Recording track #{self._startNumber} to all')
-            tracks = tracks[self._startNumber:]
+            tracks = tracks[self._startNumber - 1:]
         else:
             LOGGER.info(f'Recording track #{self._startNumber} to (including) #{self._startNumber + self._limit - 1}')
-            tracks = tracks[self._startNumber:self._startNumber + self._limit]
+            tracks = tracks[self._startNumber - 1:self._startNumber - 1 + self._limit]
 
         for index, track in enumerate(tracks):
+            indexInPlaylist = self._startNumber + index
+
             if track['is_local']:
                 # It's not possible to add a local track to a playlist using the web API.
                 # https://github.com/plamere/spotipy/issues/793#issuecomment-1082421408
                 LOGGER.info(f'Skipping local track "{track["track"]["name"]}"')
-                skippedTracks.append(track['track']['name'])
+                skippedTrackNumbers.append(indexInPlaylist)
                 continue
 
-            indexInPlaylist = self._startNumber + index
-            LOGGER.info(f'>>> Recording track {index + 1}/{len(tracks)}: #{indexInPlaylist} "{track["track"]["name"]}"...')
+            LOGGER.info(
+                f'>>> Recording track {index + 1}/{len(tracks)}: #{indexInPlaylist} "{track["track"]["name"]}"...')
             try:
                 filePath = self.__determine_file_path(indexInPlaylist + 1, track)
                 recorder = SpotifyAudioRecorder(self._audioDeviceName, filePath)
@@ -114,13 +116,23 @@ class SpotifyRecorder:
                     timeWaitedForPlaying = self.__wait_for_track_playing(track['track']['id'])
                     self.__wait_for_track_end(track, timeWaitedForPlaying)
 
-                recordedTracks.append(track['track']['name'])
+                recordedTrackNumbers.append(indexInPlaylist)
             except Exception as e:
                 LOGGER.error(f'An error occurred while recording track "{track["track"]["name"]}"', exc_info=e)
-                errorTracks.append(track['track']['name'])
+                errorTrackNumbers.append(indexInPlaylist)
 
         LOGGER.info('### DONE ###')
-        LOGGER.info(f'{len(tracks)} tracks, {len(recordedTracks)} recorded, {len(skippedTracks)} skipped, {len(errorTracks)} errors')
+
+        LOGGER.info('>>> Skipped <<<')
+        for number in skippedTrackNumbers:
+            LOGGER.info(f'Skipped #{number}')
+
+        LOGGER.info('>>> Errors <<<')
+        for number in errorTrackNumbers:
+            LOGGER.info(f'Error #{number}')
+
+        LOGGER.info(
+            f'### {len(tracks)} tracks, {len(recordedTrackNumbers)} recorded, {len(skippedTrackNumbers)} skipped, {len(errorTrackNumbers)} errors ###')
 
     def __determine_file_path(self, index: int, track) -> str:
         artists = track['track']['artists']
@@ -179,7 +191,7 @@ class SpotifyRecorder:
 
         raise RuntimeError('Device not found')
 
-    def __play_track(self, deviceId: str, trackUri: str):
+    def __play_track(self, deviceId: str, trackUri: str) -> None:
         self._spotify.start_playback(device_id=deviceId, uris=[trackUri])
 
     def __wait_for_track_playing(self, expectedTrackId: str) -> float:
@@ -194,7 +206,7 @@ class SpotifyRecorder:
                     LOGGER.debug(f'\t\tTrack started playing after {duration:.1f}s')
                     break
                 else:
-                    raise RuntimeError('Wrong track started playing')
+                    raise RuntimeError(f'Wrong track started playing (actual: {currentPlayback["item"]["id"]}, expected: {expectedTrackId})')
 
             time.sleep(1)
 
@@ -215,7 +227,7 @@ if __name__ == '__main__':
                                     SETTINGS['audioDeviceName'],
                                     SETTINGS['destinationFolder'],
                                     SETTINGS['startNumber'],
-                                    SETTINGS['limit'],)
+                                    SETTINGS['limit'], )
 
     spotifyBackup.run()