| Code Coverage
| Classes and Traits | Functions and Methods | Lines
Total |  | 0.00% | 0 / 1 |  | 75.00% | 3 / 4 | CRAP |  | 80.00% | 24 / 30
LoggerAppenderFirePHP |  | 0.00% | 0 / 1 |  | 75.00% | 3 / 4 | 14.35 |  | 80.00% | 24 / 30
activateOptions() |  | 0.00% | 0 / 1 | 6 |  | 0.00% | 0 / 6
append(LoggerLoggingEvent $event) |  | 100.00% | 1 / 1 | 9 |  | 100.00% | 21 / 21
getTarget() |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1
setTarget($target) |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2

1 | <?php
2 | /**
3 | * Licensed to the Apache Software Foundation (ASF) under one or more
4 | * contributor license agreements. See the NOTICE file distributed with
5 | * this work for additional information regarding copyright ownership.
6 | * The ASF licenses this file to You under the Apache License, Version 2.0
7 | * (the "License"); you may not use this file except in compliance with
8 | * the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | /**
20 | * Logs messages as HTTP headers using the FirePHP Insight API.
21 | *
22 | * This appender requires the FirePHP server library version 1.0 or later.
23 | *
24 | * ## Configurable parameters: ##
25 | *
26 | * - **target** - (string) The target to which messages will be sent. Possible options are
27 | * 'page' (default), 'request', 'package' and 'controller'. For more details,
28 | * see FirePHP documentation.
29 | *
30 | * This class was originally contributed by Bruce Ingalls (Bruce.Ingalls-at-gmail-dot-com).
31 | *
32 | * @link https://github.com/firephp/firephp FirePHP homepage.
33 | * @link http://sourcemint.com/github.com/firephp/firephp/1:1.0.0b1rc6/-docs/Welcome FirePHP documentation.
34 | * @link http://sourcemint.com/github.com/firephp/firephp/1:1.0.0b1rc6/-docs/Configuration/Constants FirePHP constants documentation.
35 | * @link http://logging.apache.org/log4php/docs/appenders/firephp.html Appender documentation
36 | *
37 | * @version $Revision: 1343684 $
38 | * @package log4php
39 | * @subpackage appenders
40 | * @since 2.3
41 | */
42 | class LoggerAppenderFirePHP extends LoggerAppender {
43 |
44 | /**
45 | * Instance of the Insight console class.
46 | * @var Insight_Plugin_Console
47 | */
48 | protected $console;
49 |
50 | /**
51 | * The target for log messages. Possible values are: 'page' (default),
52 | * 'request', 'package' and 'contoller'.
53 | */
54 | protected $target = 'page';
55 |
56 | public function activateOptions() {
57 | if (method_exists('FirePHP', 'to')) {
58 | $this->console = FirePHP::to($this->target)->console();
59 | $this->closed = false;
60 | } else {
61 | $this->warn('FirePHP is not installed correctly. Closing appender.');
62 | }
63 | }
64 |
65 | public function append(LoggerLoggingEvent $event) {
66 | $msg = $event->getMessage();
67 |
68 | // Skip formatting for objects and arrays which are handled by FirePHP.
69 | if (!is_array($msg) && !is_object($msg)) {
70 | $msg = $this->getLayout()->format($event);
71 | }
72 |
73 | switch ($event->getLevel()->toInt()) {
74 | case LoggerLevel::TRACE:
75 | case LoggerLevel::DEBUG:
76 | $this->console->log($msg);
77 | break;
78 | case LoggerLevel::INFO:
79 | $this->console->info($msg);
80 | break;
81 | case LoggerLevel::WARN:
82 | $this->console->warn($msg);
83 | break;
84 | case LoggerLevel::ERROR:
85 | case LoggerLevel::FATAL:
86 | $this->console->error($msg);
87 | break;
88 | }
89 | }
90 |
91 | /** Returns the target. */
92 | public function getTarget() {
93 | return $this->target;
94 | }
95 |
96 | /** Sets the target. */
97 | public function setTarget($target) {
98 | $this->setString('target', $target);
99 | }