WfsLogger.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. class Api_WfsLogger {
  3. protected $_reqId;
  4. protected $_logFile;
  5. public function __construct() {
  6. $this->_logFile = "/tmp/wfs.log";
  7. if (!is_writable($this->_logFile)) {
  8. $fp = @fopen($this->_logFile, "w");
  9. if ($fp === false) return;
  10. @fclose($fp);
  11. }
  12. //unlink($this->_logFile);// TODO: DBG clear log
  13. $this->_reqId = substr(uniqid(), 7);
  14. }
  15. public function reqDBG($request) {
  16. $reqLog = "{$_SERVER['REQUEST_METHOD']} {$_SERVER['REQUEST_URI']}";
  17. if ($_SERVER['REQUEST_METHOD'] == 'POST') $reqLog .= "\n------------ POST:\n" . Request::getRequestBody();
  18. if (!empty($request)) $reqLog .= "\n------------ request: " . json_encode($request);
  19. $this->DBG($reqLog);
  20. }
  21. public function DBG($reqLog, $lineNr = null, $funName = null, $className = null) {
  22. $codePos = ($lineNr)? $lineNr : '';
  23. if (null !== $funName && null !== $className) $codePos = "{$className}::{$funName}():{$lineNr}";
  24. if (null !== $funName && null === $className) $codePos = "{$funName}():{$lineNr}";
  25. if ($codePos) $codePos = "\t{$codePos}";
  26. $logMsg = date("Y-m-d H:i:s") . "\tReq:{$this->_reqId}{$codePos}\t{$reqLog}\n";
  27. error_log($logMsg, 3, $this->_logFile);
  28. }
  29. }