docs: @Override
      public void publishLogRecord(LogRecord logRecord) {
          String formattedMsg = null;
          String formattedVerboseMsg = null;
  
          Level level = logRecord.getLevel();
          int levelValue = level.intValue();
          TraceWriter detailLog = traceLog;
  
          if (levelValue >= Level.INFO.intValue()) {
  
              formattedMsg = formatter.formatMessage(logRecord);
              formattedVerboseMsg = formatter.formatVerboseMessage(logRecord, formattedMsg);
  
              RoutedMessage routedMessage = null;
              if (externalMessageRouter.get() != null) {
                  String message = formatter.messageLogFormat(logRecord, formattedVerboseMsg);
                  routedMessage = new RoutedMessageImpl(formattedMsg, formattedVerboseMsg, message, logRecord);
              } else {
                  routedMessage = new RoutedMessageImpl(formattedMsg, formattedVerboseMsg, null, logRecord);
              }
              // Look for external log handlers. They may suppress "normal" log
              // processing, which would prevent it from showing up in other logs.
              // This has to be checked in this method: direct invocation of system.out
              // and system.err are not subject to message routing.
              boolean logNormally = invokeMessageRouters(routedMessage);
              if (!logNormally)
                  return;
  
              //If any messages configured to be hidden then those will not be written to console.log/message.log and redirected to trace.log.
              if (isMessageHidden(formattedMsg)) {
                  publishTraceLogRecord(detailLog, logRecord, NULL_ID, formattedMsg, formattedVerboseMsg);
                  return;
              }
  
              /*
               * Messages sent through LogSource will be received by MessageLogHandler and ConsoleLogHandler
               * if messageFormat and consoleFormat have been set to "json" and "message" is a listed source.
               * However, LogstashCollector and BluemixLogCollector will receive all messages
               */
  
              // logSource only receives "normal" messages and messages that are not hidden.
              if (logSource != null) {
                  publishToLogSource(routedMessage);
              }
          }
  
          // ODD: note that formattedMsg and formattedVerboseMsg will both be NULL if
          // this message is NOT above INFO Level.  However I believe only INFO-Level + above
          // messages are sent to this method.  So the "if (INFO-Level)" check above is probably
          // unnecessary.
  
          // Proceed to trace processing for all other log records
          if (TraceComponent.isAnyTracingEnabled()) {
              publishTraceLogRecord(detailLog, logRecord, NULL_ID, formattedMsg, formattedVerboseMsg);
          }
      }