diff --git a/site/app_model.php b/site/app_model.php index e021cc6..e40a5e1 100644 --- a/site/app_model.php +++ b/site/app_model.php @@ -119,15 +119,43 @@ class AppModel extends Model { $class = $caller['class']; //$class = $this->name; - // Adjust the log level from default, if necessary + // Use class or function specific log level if available if (isset($this->class_log_level[$class])) $log_level = $this->class_log_level[$class]; if (isset($this->function_log_level["{$class}-{$function}"])) $log_level = $this->function_log_level["{$class}-{$function}"]; - if (isset($this->min_log_level)) - $log_level = max($log_level, $this->min_log_level); - if (isset($this->max_log_level)) - $log_level = min($log_level, $this->max_log_level); + + // Establish log level minimums + $min_log_level = $this->min_log_level; + if (is_array($this->min_log_level)) { + $min_show_level = $min_log_level['show']; + $min_log_level = $min_log_level['log']; + } + + // Establish log level maximums + $max_log_level = $this->max_log_level; + if (is_array($this->max_log_level)) { + $max_show_level = $max_log_level['show']; + $max_log_level = $max_log_level['log']; + } + + // Determine the applicable log and show levels + if (is_array($log_level)) { + $show_level = $log_level['show']; + $log_level = $log_level['log']; + } + + // Adjust log level up/down to min/max + if (isset($min_log_level)) + $log_level = max($log_level, $min_log_level); + if (isset($max_log_level)) + $log_level = min($log_level, $max_log_level); + + // Adjust show level up/down to min/max + if (isset($min_show_level)) + $show_level = max($show_level, $min_show_level); + if (isset($max_show_level)) + $show_level = min($show_level, $max_show_level); // If the level is insufficient, bail out if ($level > $log_level) @@ -143,7 +171,8 @@ class AppModel extends Model { static $pr_unique_number = 0; $pr_id = 'pr-section-class-' . $class . '-print-' . (++$pr_unique_number); - $pr_trace_id = $pr_id . '-trace'; + $pr_trace_id = $pr_id . '-trace'; + $pr_output_id = $pr_id . '-output'; $pr_entire_base_class = "pr-section"; $pr_entire_class_class = $pr_entire_base_class . '-class-' . $class; @@ -183,14 +212,17 @@ class AppModel extends Model { echo '' . "\n"; // End pr_trace_class $file = str_replace(ROOT.DS, '', $file); $file = str_replace(CAKE_CORE_INCLUDE_PATH.DS, '', $file); + echo "$file:$line ($class::$function)" . ";\n"; +/* $log_show_level = isset($show_level) ? $show_level : '?'; */ +/* echo ' L' . $level . "({$log_level}/{$log_show_level})" . ";\n"; */ echo ' L' . $level . ";\n"; echo ' stack'.";\n"; - echo " all "; - echo 's'."/"; - echo 'h'."/"; - echo 'n'.";\n"; + echo " this "; + echo 's'."/"; + echo 'h'."/"; + echo 'n'.";\n"; echo " $class "; echo 's'."/"; @@ -200,10 +232,21 @@ class AppModel extends Model { echo " $function "; echo 's'."/"; echo 'h'."/"; - echo 'n'."\n"; + echo 'n'.";\n"; + + echo " all "; + echo 's'."/"; + echo 'h'."/"; + echo 'n'."\n"; + echo '' . "\n"; // End pr_header_class - echo '
'."\n"; + if (isset($show_level) && $level > $show_level) + $display = 'none'; + else + $display = 'block'; + + echo '
'."\n"; pr($mixed, false, false); echo '
' . "\n"; // End pr_output_class echo '
' . "\n"; // End pr_entire_class