public static void Log(DebugMessageType messageType, string logger, RaiseDebugEventCallBack raiseEvent,
                               object message, bool showInDebugConsole = false)
        {
            if (logger == null && !showInDebugConsole)
            {
                return;
            }

            var messageTypeStr    = messageType.ToString();
            var messageDataString =
                JsonConvert.SerializeObject(message, new JsonSerializerSettings
            {
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            });

            Log(messageType, logger, messageDataString);

            if (showInDebugConsole)
            {
                raiseEvent(messageTypeStr, messageDataString);
            }
        }
 public static void Log(DebugMessageType messageType, RaiseDebugEventCallBack raiseEvent, object message,
                        bool showInDebugConsole = false)
 {
     Log(messageType, null, raiseEvent, message, showInDebugConsole);
 }