LoggerObjectRenderer.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * log4php is a PHP port of the log4j java logging package.
  4. *
  5. * <p>This framework is based on log4j (see {@link http://jakarta.apache.org/log4j log4j} for details).</p>
  6. * <p>Design, strategies and part of the methods documentation are developed by log4j team
  7. * (Ceki Gülcü as log4j project founder and
  8. * {@link http://jakarta.apache.org/log4j/docs/contributors.html contributors}).</p>
  9. *
  10. * <p>PHP port, extensions and modifications by VxR. All rights reserved.<br>
  11. * For more information, please see {@link http://www.vxr.it/log4php/}.</p>
  12. *
  13. * <p>This software is published under the terms of the LGPL License
  14. * a copy of which has been included with this distribution in the LICENSE file.</p>
  15. *
  16. * @package log4php
  17. * @subpackage or
  18. */
  19. /**
  20. * @ignore
  21. */
  22. if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
  23. /**
  24. * Subclass this abstract class in order to render objects as strings.
  25. *
  26. * @author VxR <vxr@vxr.it>
  27. * @version $Revision: 1.1 $
  28. * @package log4php
  29. * @subpackage or
  30. * @abstract
  31. * @since 0.3
  32. */
  33. class LoggerObjectRenderer {
  34. /**
  35. * @param string $class classname
  36. * @return LoggerObjectRenderer create LoggerObjectRenderer instances
  37. */
  38. function factory($class)
  39. {
  40. if (!empty($class)) {
  41. $class = basename($class);
  42. @include_once(LOG4PHP_DIR . "/or/{$class}.php");
  43. if (class_exists($class)) {
  44. return new $class();
  45. }
  46. }
  47. return null;
  48. }
  49. /**
  50. * Render the entity passed as parameter as a String.
  51. * @param mixed $o entity to render
  52. * @return string
  53. */
  54. function doRender($o)
  55. {
  56. // abstract
  57. }
  58. }
  59. ?>