Is Debug.Log asynchronous in Unity?

When I try to log a message right before an asynchronous call to load a scene, the scene gets loaded and then the log message is shown in the console after. This happens when pressing a button.

 void Awake()
 button = this.GetComponent<Button>();

 button.onClick.AddListener(() =>
     Debug.Log("Loading level ... ");

Logically speaking my outcome is not possible unless Debug.Log is asynchronous, but I was hoping for confirmation on this.

It is best to use print("Loading level ... "); , as Debug.Log hurts performance by going through all the debug calls. But does print show on console after a new level is loaded? Not sure, haven’t really played with new scenes yet, as I’ve not needed them. There is a way to save variables through all scenes, if you need the message to still show up, though.