Die `\caption`-Anweisung von `longtable` kennt genau aus diesem Grund die Möglichkeit, ein leeres optionales Argument zu verwenden und für die erste Seite einen anderen Kopf zu definieren als für alle weiteren (so wie Du bereits unterschiedliche Tabellenenden für das letzte Tabellenende und alle vorherigen definiert hast):
\documentclass[12pt,a4paper]{article}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß},
}
\usepackage{longtable, booktabs}
\usepackage[ngerman]{babel}
\begin{document}
\vspace*{10cm}
\begin{longtable}{lrcp{2cm}}
\caption{log}\label{tab:log2}\\
\toprule
Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4\\
\midrule
\endfirsthead
\caption[]{log \small(Fortsetzung)}\\
\toprule
Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4\\
\midrule
\endhead
\midrule
\endfoot
\bottomrule
\endlastfoot
Linksbündige Spalte. & Rechtsbündige Spalte &Zentrierte Spalte & Parbox\\
Kurzer Text. & Kurzer Text. & Kurzer Text. & Kurzer Text.\\
Text. & Text. & Text. & In diesem Felde nun ein elendslanger text, um
Umbrüche innerhalb eines Feldes zu erzeugen.\\
Text. & Text. & Text. & der Befehl $\backslash$vspace*\{\} weiter oben im
Quellcode hat einen Umbruch vor dieser Zeile bewirkt.\\
\end{longtable}
\clearpage
\listoftables
\end{document}
Näheres zum leeren optionalen Argument von `\caption` innerhalb einer `longtable`-Umgebung ist in Abschnitt 3, der Anleitung zum Paket zu finden. Dort ist auch zu finden, dass ebenfalls eine Anweisung `\caption*` existierst, die auch keine Nummer ausgibt.
Übrigens ist das Paket `ngerman` veraltet. Problematisch bei diesem Paket ist, dass es die Bedeutung des `"` bereits beim Laden verändert, was andere Pakete stören kann. Daher sollte man besser das Paket `babel` mit Option `ngerman` verwenden, wie ich das in meinem Beispiel gezeigt habe.