/** * Setter function for boolean type. */ protected function setBoolean($property, $value) { try { $this->{$property} = LoggerOptionConverter::toBooleanEx($value); } catch (Exception $ex) { $value = var_export($value, true); $this->warn("Invalid value given for '{$property}' property: [{$value}]. Expected a boolean value. Property not changed."); } }
/** * Configures a logger. * * @param Logger $logger The logger to configure * @param array $config Logger configuration options. */ private function configureLogger(Logger $logger, $config) { $loggerName = $logger->getName(); // Set logger level if (isset($config['level'])) { $level = LoggerLevel::toLevel($config['level']); if (isset($level)) { $logger->setLevel($level); } else { $this->warn("Invalid level value [{$config['level']}] specified for logger [{$loggerName}]. Ignoring level definition."); } } // Link appenders to logger if (isset($config['appenders'])) { foreach ($config['appenders'] as $appenderName) { if (isset($this->appenders[$appenderName])) { $logger->addAppender($this->appenders[$appenderName]); } else { $this->warn("Nonexistnant appender [{$appenderName}] linked to logger [{$loggerName}]."); } } } // Set logger additivity if (isset($config['additivity'])) { try { $additivity = LoggerOptionConverter::toBooleanEx($config['additivity'], null); $logger->setAdditivity($additivity); } catch (Exception $ex) { $this->warn("Invalid additivity value [{$config['additivity']}] specified for logger [{$loggerName}]. Ignoring additivity setting."); } } }
/** * Check that various boolean equivalents from ini file convert properly * to boolean. */ public function testBooleanValues() { $values = parse_ini_file(PHPUNIT_CONFIG_DIR . '/adapters/ini/values.ini'); $actual = LoggerOptionConverter::toBooleanEx($values['unquoted_true']); self::assertTrue($actual); $actual = LoggerOptionConverter::toBooleanEx($values['unquoted_yes']); self::assertTrue($actual); $actual = LoggerOptionConverter::toBooleanEx($values['unquoted_false']); self::assertFalse($actual); $actual = LoggerOptionConverter::toBooleanEx($values['unquoted_no']); self::assertFalse($actual); $actual = LoggerOptionConverter::toBooleanEx($values['quoted_true']); self::assertTrue($actual); $actual = LoggerOptionConverter::toBooleanEx($values['quoted_false']); self::assertFalse($actual); $actual = LoggerOptionConverter::toBooleanEx($values['unquoted_one']); self::assertTrue($actual); $actual = LoggerOptionConverter::toBooleanEx($values['unquoted_zero']); self::assertFalse($actual); }
/** * Test fail on invalid string. * @expectedException LoggerException * @expectedExceptionMessage Given value ['foo'] cannot be converted to boolean. */ public function testToBooleanFailure2() { LoggerOptionConverter::toBooleanEx('foo'); }