whole_func_string: function log(data) {
        var wasScrolledBottom = _isScrolledBottom();
        var div = document.createElement('div');
        var p = document.createElement('p');
        p.className = 'inner-line';
  
        // convert ansi color codes to html && escape HTML tags
        data = ansi_up.escape_for_html(data); // eslint-disable-line
        data = ansi_up.ansi_to_html(data); // eslint-disable-line
        p.innerHTML = _highlightWord(data);
  
        div.className = 'line';
        div = _highlightLine(data, div);
        div.addEventListener('click', function click() {
          if (this.className.indexOf('selected') === -1) {
            this.className = 'line-selected';
          } else {
            this.className = 'line';
          }
        });
  
        div.appendChild(p);
        _filterElement(div);
        _logContainer.appendChild(div);
  
        if (_logContainer.children.length > _linesLimit) {
          _logContainer.removeChild(_logContainer.children[0]);
        }
  
        if (wasScrolledBottom) {
          window.scrollTo(0, document.body.scrollHeight);
        }
  
        _updateFaviconCounter();
      }
func_code_string: function log(data) {
        var wasScrolledBottom = _isScrolledBottom();
        var div = document.createElement('div');
        var p = document.createElement('p');
        p.className = 'inner-line';
  
        // convert ansi color codes to html && escape HTML tags
        data = ansi_up.escape_for_html(data); // eslint-disable-line
        data = ansi_up.ansi_to_html(data); // eslint-disable-line
        p.innerHTML = _highlightWord(data);
  
        div.className = 'line';
        div = _highlightLine(data, div);
        div.addEventListener('click', function click() {
          if (this.className.indexOf('selected') === -1) {
            this.className = 'line-selected';
          } else {
            this.className = 'line';
          }
        });
  
        div.appendChild(p);
        _filterElement(div);
        _logContainer.appendChild(div);
  
        if (_logContainer.children.length > _linesLimit) {
          _logContainer.removeChild(_logContainer.children[0]);
        }
  
        if (wasScrolledBottom) {
          window.scrollTo(0, document.body.scrollHeight);
        }
  
        _updateFaviconCounter();
      }
func_documentation_string: Log data
  
  @param {string} data data to log