class-wc-logger-interface.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. /**
  3. * Logger Interface
  4. *
  5. * @version 3.0.0
  6. * @package WooCommerce/Interface
  7. */
  8. if ( ! defined( 'ABSPATH' ) ) {
  9. exit; // Exit if accessed directly.
  10. }
  11. /**
  12. * WC Logger Interface
  13. *
  14. * Functions that must be defined to correctly fulfill logger API.
  15. *
  16. * @version 3.0.0
  17. */
  18. interface WC_Logger_Interface {
  19. /**
  20. * Add a log entry.
  21. *
  22. * This is not the preferred method for adding log messages. Please use log() or any one of
  23. * the level methods (debug(), info(), etc.). This method may be deprecated in the future.
  24. *
  25. * @param string $handle File handle.
  26. * @param string $message Log message.
  27. * @param string $level Log level.
  28. *
  29. * @return bool True if log was added, otherwise false.
  30. */
  31. public function add( $handle, $message, $level = WC_Log_Levels::NOTICE );
  32. /**
  33. * Add a log entry.
  34. *
  35. * @param string $level One of the following:
  36. * 'emergency': System is unusable.
  37. * 'alert': Action must be taken immediately.
  38. * 'critical': Critical conditions.
  39. * 'error': Error conditions.
  40. * 'warning': Warning conditions.
  41. * 'notice': Normal but significant condition.
  42. * 'info': Informational messages.
  43. * 'debug': Debug-level messages.
  44. * @param string $message Log message.
  45. * @param array $context Optional. Additional information for log handlers.
  46. */
  47. public function log( $level, $message, $context = array() );
  48. /**
  49. * Adds an emergency level message.
  50. *
  51. * System is unusable.
  52. *
  53. * @param string $message Log message.
  54. * @param array $context Optional. Additional information for log handlers.
  55. */
  56. public function emergency( $message, $context = array() );
  57. /**
  58. * Adds an alert level message.
  59. *
  60. * Action must be taken immediately.
  61. * Example: Entire website down, database unavailable, etc.
  62. *
  63. * @param string $message Log message.
  64. * @param array $context Optional. Additional information for log handlers.
  65. */
  66. public function alert( $message, $context = array() );
  67. /**
  68. * Adds a critical level message.
  69. *
  70. * Critical conditions.
  71. * Example: Application component unavailable, unexpected exception.
  72. *
  73. * @param string $message Log message.
  74. * @param array $context Optional. Additional information for log handlers.
  75. */
  76. public function critical( $message, $context = array() );
  77. /**
  78. * Adds an error level message.
  79. *
  80. * Runtime errors that do not require immediate action but should typically be logged
  81. * and monitored.
  82. *
  83. * @param string $message Log message.
  84. * @param array $context Optional. Additional information for log handlers.
  85. */
  86. public function error( $message, $context = array() );
  87. /**
  88. * Adds a warning level message.
  89. *
  90. * Exceptional occurrences that are not errors.
  91. *
  92. * Example: Use of deprecated APIs, poor use of an API, undesirable things that are not
  93. * necessarily wrong.
  94. *
  95. * @param string $message Log message.
  96. * @param array $context Optional. Additional information for log handlers.
  97. */
  98. public function warning( $message, $context = array() );
  99. /**
  100. * Adds a notice level message.
  101. *
  102. * Normal but significant events.
  103. *
  104. * @param string $message Log message.
  105. * @param array $context Optional. Additional information for log handlers.
  106. */
  107. public function notice( $message, $context = array() );
  108. /**
  109. * Adds a info level message.
  110. *
  111. * Interesting events.
  112. * Example: User logs in, SQL logs.
  113. *
  114. * @param string $message Log message.
  115. * @param array $context Optional. Additional information for log handlers.
  116. */
  117. public function info( $message, $context = array() );
  118. /**
  119. * Adds a debug level message.
  120. *
  121. * Detailed debug information.
  122. *
  123. * @param string $message Log message.
  124. * @param array $context Optional. Additional information for log handlers.
  125. */
  126. public function debug( $message, $context = array() );
  127. }