blob: c653eca0a868a97036bc0efee7163f1921adfde7 [file] [log] [blame]
<?php
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @category tests
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @link http://logging.apache.org/log4php
*/
namespace Apache\Log4php\Tests;
use Apache\Log4php\Filters\AbstractFilter;
use Apache\Log4php\Level;
use Apache\Log4php\Logger;
use Apache\Log4php\LoggingEvent;
/** A set of helper functions for running tests. */
class TestHelper {
/**
* Returns a test logging event with level set to TRACE.
* @return LoggingEvent
*/
public static function getTraceEvent($message = 'test', $logger = "test") {
return new LoggingEvent(__CLASS__, new Logger($logger), Level::getLevelTrace(), $message);
}
/**
* Returns a test logging event with level set to DEBUG.
* @return LoggingEvent
*/
public static function getDebugEvent($message = 'test', $logger = "test") {
return new LoggingEvent(__CLASS__, new Logger($logger), Level::getLevelDebug(), $message);
}
/**
* Returns a test logging event with level set to INFO.
* @return LoggingEvent
*/
public static function getInfoEvent($message = 'test', $logger = "test") {
return new LoggingEvent(__CLASS__, new Logger($logger), Level::getLevelInfo(), $message);
}
/**
* Returns a test logging event with level set to WARN.
* @return LoggingEvent
*/
public static function getWarnEvent($message = 'test', $logger = "test") {
return new LoggingEvent(__CLASS__, new Logger($logger), Level::getLevelWarn(), $message);
}
/**
* Returns a test logging event with level set to ERROR.
* @return LoggingEvent
*/
public static function getErrorEvent($message = 'test', $logger = "test") {
return new LoggingEvent(__CLASS__, new Logger($logger), Level::getLevelError(), $message);
}
/**
* Returns a test logging event with level set to FATAL.
* @return LoggingEvent
*/
public static function getFatalEvent($message = 'test', $logger = "test") {
return new LoggingEvent(__CLASS__, new Logger($logger), Level::getLevelFatal(), $message);
}
/**
* Returns an array of logging events, one for each level, sorted ascending
* by severitiy.
*/
public static function getAllEvents($message = 'test') {
return array(
self::getTraceEvent($message),
self::getDebugEvent($message),
self::getInfoEvent($message),
self::getWarnEvent($message),
self::getErrorEvent($message),
self::getFatalEvent($message),
);
}
/** Returns an array of all existing levels, sorted ascending by severity. */
public static function getAllLevels() {
return array(
Level::getLevelTrace(),
Level::getLevelDebug(),
Level::getLevelInfo(),
Level::getLevelWarn(),
Level::getLevelError(),
Level::getLevelFatal(),
);
}
/** Returns a string representation of a filter decision. */
public static function decisionToString($decision) {
switch($decision) {
case AbstractFilter::ACCEPT: return 'ACCEPT';
case AbstractFilter::NEUTRAL: return 'NEUTRAL';
case AbstractFilter::DENY: return 'DENY';
}
}
/** Returns a simple configuration with one echo appender tied to root logger. */
public static function getEchoConfig() {
return array(
'threshold' => 'ALL',
'rootLogger' => array(
'level' => 'trace',
'appenders' => array('default'),
),
'appenders' => array(
'default' => array(
'class' => 'EchoAppender',
'layout' => array(
'class' => 'SimpleLayout',
),
),
),
);
}
/** Returns a simple configuration with one echo appender using the pattern layout. */
public static function getEchoPatternConfig($pattern) {
return array(
'threshold' => 'ALL',
'rootLogger' => array(
'level' => 'trace',
'appenders' => array('default'),
),
'appenders' => array(
'default' => array(
'class' => 'EchoAppender',
'layout' => array(
'class' => 'PatternLayout',
'params' => array(
'conversionPattern' => $pattern
)
),
),
),
);
}
}
?>