An *abstract logic* $\mathcal{L}$ consists of a pair $(S,T)$ where, given a vocabulary $\tau$,
$S$ defines the class of *sentences* of $\mathcal{L}$ in the vocabulary $\tau$,
and $T$ defines the *satisfaction relation* between $\tau$-structures and members of $S$.
We usually say simply "a logic" instead of "abstract logic", abuse notation by writing e.g. $\varphi \in \mathcal{L}$ instead of $S(\varphi)$,
and write $\mathcal{M} \models_{\mathcal{L}} \varphi$ instead of $T(\mathcal{M},\varphi)$.
We may consider *formulas* with free variables by adding constant symbols to the vocabulary.