Changeset 604 for branches/1.1dev/lib


Ignore:
Timestamp:
May 8, 2017 2:34:08 PM (7 years ago)
Author:
anonymous
Message:

Backport improved logMsg from codebase v2.2.0-7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.1dev/lib/App.inc.php

    r549 r604  
    9696    }
    9797
     98    // In case __FILE__ and __LINE__ are not provided, note that fact.
     99    $file = '' == $file ? 'unknown-file' : $file;
     100    $line = '' == $line ? 'unknown-line' : $line;
     101
     102    // Strip HTML tags except any with more than 7 characters because that's probably not a HTML tag, e.g. <email@address.com>.
     103    preg_match_all('/(<[^>\s]{7,})[^>]*>/', $message, $strip_tags_allow);
     104    $message = strip_tags(preg_replace('/\s+/', ' ', $message), (!empty($strip_tags_allow[1]) ? join('> ', $strip_tags_allow[1]) . '>' : null));
     105
    98106    // Serialize multi-line messages.
    99107    $message = preg_replace('/\s+/m', ' ', trim($message));
     
    109117        'message'   => $message
    110118    );
    111 
    112     $event_str = strip_tags('[' . preg_replace('/\s{2,}/', ' ', join('] [', $event)) . ']');
     119    // Here's a shortened version of event data.
     120    $event_short = $event;
     121    $event_short['url'] = truncate($event_short['url'], 120);
    113122
    114123    // FILE ACTION
    115124    if ($CFG->log_file_priority && $priority <= $CFG->log_file_priority) {
     125        $event_str = '[' . join('] [', $event_short) . ']';
    116126        error_log($event_str . "\n", 3, $CFG->log_directory . '/' . $CFG->log_filename);
    117127    }
     
    122132            $CFG->log_to_email = 'bug@strangecode.com';
    123133        }
    124         $subject = sprintf('[%s %s] %s', getenv('HTTP_HOST'), $event['type'], $message);
    125         $email_msg = sprintf("A %s log event occured on %s\n\n", $event['type'], getenv('HTTP_HOST'));
     134        $hostname = (isset($_SERVER['HTTP_HOST']) && '' != $_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : php_uname('n');
     135        $subject = sprintf('[%s %s] %s', $hostname, $event['type'], mb_substr($event['message'], 0, 64));
     136        $email_msg = sprintf("A log event of type '%s' occurred on %s\n\n", $event['type'], $hostname);
    126137        $headers = "From: codebase@strangecode.com\r\n";
    127138        foreach ($event as $k=>$v) {
     
    136147            $CFG->log_to_sms = 'bug@strangecode.com';
    137148        }
    138         $subject = '[' . getenv('HTTP_HOST') . ' log event]';
    139         $headers = "From: codebase@strangecode.com\r\n";
    140         mail($CFG->log_to_sms, $subject, $event_str, $headers, '-f codebase@strangecode.com');
     149        $hostname = (isset($_SERVER['HTTP_HOST']) && '' != $_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : php_uname('n');
     150        $subject = sprintf('[%s %s]', $hostname, $priority);
     151        $sms_msg = sprintf('%s [%s:%s]', mb_substr($event_short['message'], 0, 64), basename($file), $line);
     152        $headers = 'From: ' . $this->getParam('site_email');
     153        mb_send_mail($CFG->log_to_sms, $subject, $sms_msg, $headers);
    141154    }
    142155
Note: See TracChangeset for help on using the changeset viewer.