diff --git a/interface/web/monitor/show_log.php b/interface/web/monitor/show_log.php
index ec10a982b1aa768998b0aadcce63b1b7abf3c784..cb9e4c1074f80c670f0256d69426cd1fff92e446 100644
--- a/interface/web/monitor/show_log.php
+++ b/interface/web/monitor/show_log.php
@@ -125,7 +125,20 @@ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE t
if(isset($record['data'])) {
$data = unserialize($record['data']);
- $logData = nl2br(htmlspecialchars($data));
+ $logData = explode("\n", htmlspecialchars($data));
+ $logDataHtml = '';
+ /* set css class for each line of log, depending on key words in each line */
+ foreach($logData as $val) {
+ if (strpos($val, 'ERROR') !== FALSE) {
+ $logDataHtml .= "
$val
";
+ } elseif (strpos($val, 'WARN') !== FALSE) {
+ $logDataHtml .= "$val
";
+ } elseif (strpos($val, 'INFO') !== FALSE) {
+ $logDataHtml .= "$val
";
+ } else {
+ $logDataHtml .= "$val
";
+ }
+ }
$app->tpl->setVar("log_data", $logData);
} else {
diff --git a/interface/web/themes/default/css/styles.css b/interface/web/themes/default/css/styles.css
index 1820dbcdff09791a9b42c4b8f99d453993b79604..b8de0844e97fadd9a584311ae45c7e3c846f6135 100644
--- a/interface/web/themes/default/css/styles.css
+++ b/interface/web/themes/default/css/styles.css
@@ -438,6 +438,9 @@ table.list .tbl_col_limit {
font-family: Consolas, "Lucida Console", "Courier New", monospace;
font-size: 0.9em;
}
+.codeview .logerror { background: rgb(255,0,0); }
+.codeview .logwarn { background: rgb(255,204,0); }
+.codeview .loginfo { background: rgb(153,204,255); }
/* Lists */
table.list {
width: 100%;