log
The core logging function that all other logging methods delegate to.
Implementations of UmamiLogger must provide the logic for handling log messages in this function. This is where the actual output of the log (e.g., printing to the console) should occur.