PageRenderTime 52ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/logging/cfLoggerConfigurator.class.php

https://bitbucket.org/cyberfox/cyberfox-php-framework
PHP | 147 lines | 9 code | 3 blank | 135 comment | 0 complexity | 63b8c0a5d06e837b3785dbb374e0a52e MD5 | raw file
Possible License(s): LGPL-3.0
  1. <?php
  2. /**
  3. -----------------------------------------------------------------------------
  4. * LoggerConfiguratorConfig - DEPRECATD
  5. *
  6. * Configure the logger from the cfConfig settings.
  7. *
  8. * Based on log4php (Apache Logging Services) this class provides you to genereate log files to debug or control your application as well.
  9. * @link http://logging.apache.org/log4php/
  10. * @link http://logging.apache.org/log4php/docs/introduction.html
  11. *
  12. -----------------------------------------------------------------------------
  13. -----------------------------------------------------------------------------
  14. * @copyright (C) 2011 Cyberfox Software Solutions e.U.
  15. * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License version 3 (LGPLv3)
  16. * @author Christian Graf <christian.graf@cyberfox.at>
  17. -----------------------------------------------------------------------------
  18. -----------------------------------------------------------------------------
  19. * @package redfox
  20. * @subpackage misc
  21. * @category i/o
  22. * @deprecated
  23. -----------------------------------------------------------------------------
  24. -----------------------------------------------------------------------------
  25. * @version $Id: cfLoggerConfigurator.class.php 101 2012-06-27 12:15:08Z cgraf $
  26. * @date $Date: 2012-06-27 14:15:08 +0200 (Mi, 27 Jun 2012) $
  27. * @svnauthor $Author: cgraf $
  28. -----------------------------------------------------------------------------
  29. */
  30. /**
  31. * Include the log4php class to work with.
  32. */
  33. require_once('log4php/Logger.php');
  34. class cfLoggerConfigurator implements LoggerConfigurator //log4php
  35. {
  36. public function configure(LoggerHierarchy $hierarchy, $url = '') //implementation
  37. {
  38. /* $config = cfConfig::GetEntry('logging', 'application');
  39. // set threshold
  40. if(isset($config['threshold']))
  41. $hierarchy->setThreshold(LoggerOptionConverter::toLevel($config['threshold'], LoggerLevel::getLevelAll()));
  42. // parse and create appenders
  43. if(isset($config['appenders']))
  44. {
  45. foreach($config['appenders'] as $appenderName => $appenderProperties)
  46. {
  47. $appender = LoggerAppenderPool::getAppenderFromPool($appenderName, $appenderProperties['class']);
  48. //echo '<pre>' .print_r($appenderProperties, true) .'</pre>';
  49. foreach($appenderProperties as $key => $value)
  50. {
  51. if($value === null || $key == 'layout' || $key == 'class')
  52. continue;
  53. if($key == 'file' || $key == 'filename')
  54. {
  55. $key = 'FileName';
  56. $value = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $value);
  57. }
  58. $method = 'set' .ucfirst($key);
  59. if(method_exists($appender, $method))
  60. {
  61. //echo "<br> $method => $value";
  62. call_user_func(array($appender, $method), $value);
  63. }
  64. }
  65. if($appender->requiresLayout())
  66. {
  67. if(isset($appenderProperties['layout']))
  68. {
  69. if(isset($appenderProperties['layout']['class']) and !empty($appenderProperties['layout']['class']))
  70. $layoutClass = $appenderProperties['layout']['class'];
  71. else
  72. $layoutClass = 'LoggerLayoutSimple';
  73. $layout = LoggerReflectionUtils::createObject($layoutClass);
  74. if($layout === null)
  75. $layout = LoggerReflectionUtils::createObject('LoggerLayoutSimple');
  76. if($layout instanceof LoggerLayoutPattern)
  77. $layout->setConversionPattern($appenderProperties['layout']['conversionPattern']);
  78. $appender->setLayout($layout);
  79. }
  80. }
  81. //echo '<pre>' .print_r($appender, true) .'</pre>';
  82. }
  83. }
  84. // parse and create root logger
  85. if(isset($config['rootLogger']))
  86. {
  87. $rootLogger = $hierarchy->getRootLogger();
  88. if(isset($config['rootLogger']['level']))
  89. {
  90. $rootLogger->setLevel(LoggerOptionConverter::toLevel($config['rootLogger']['level'], LoggerLevel::getLevelDebug()));
  91. if(isset($config['rootLogger']['appenders']))
  92. {
  93. foreach($config['rootLogger']['appenders'] as $appenderName)
  94. {
  95. $appender = LoggerAppenderPool::getAppenderFromPool($appenderName);
  96. if($appender !== null)
  97. {
  98. //echo '<pre>' .print_r($appender, true) .'</pre>';
  99. $rootLogger->addAppender($appender);
  100. }
  101. }
  102. }
  103. }
  104. }
  105. // parse and create loggers
  106. if(isset($config['loggers']))
  107. {
  108. foreach($config['loggers'] as $loggerName => $loggerProperties)
  109. {
  110. if(is_string($loggerName))
  111. {
  112. $logger = $hierarchy->getLogger($loggerName);
  113. if(isset($loggerProperties['level']))
  114. {
  115. $logger->setLevel(LoggerOptionConverter::toLevel($loggerProperties['level'], LoggerLevel::getLevelDebug()));
  116. if(isset($loggerProperties['appenders']))
  117. {
  118. foreach($loggerProperties['appenders'] as $appenderName)
  119. {
  120. $appender = LoggerAppenderPool::getAppenderFromPool($appenderName);
  121. if($appender !== null)
  122. {
  123. //echo '<pre>' .print_r($appender, true) .'</pre>';
  124. $logger->addAppender($appender);
  125. }
  126. }
  127. }
  128. }
  129. }
  130. }
  131. }
  132. */
  133. }
  134. }
  135. ?>