PageRenderTime 37ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/installer/Log.php

https://bitbucket.org/pandaos/kaltura
PHP | 42 lines | 30 code | 8 blank | 4 comment | 7 complexity | 0839959af3b8f7c17ee004d51f60a9cb MD5 | raw file
Possible License(s): AGPL-3.0, GPL-3.0, BSD-3-Clause, LGPL-2.1, GPL-2.0, LGPL-3.0, JSON, MPL-2.0-no-copyleft-exception, Apache-2.0
  1. <?php
  2. define("L_USER","USER"); // user level logging constant
  3. define("L_ERROR","ERROR"); // error level logging constant
  4. define("L_WARNING","WARNING"); // warning level logging constant
  5. define("L_INFO","INFO"); // info level logging constant
  6. define("L_DATE_FORMAT","d.m.Y H:i:s"); // log file date format
  7. $logFile = null;
  8. $logPrintLevel=0; // screen print log level, 0=user, 1=error, 2=warning, 3=info
  9. // start a new log with the given $filename
  10. function startLog($filename) {
  11. global $logFile;
  12. $logFile = $filename;
  13. OsUtils::writeFile($logFile, "");
  14. }
  15. // log a $message in the given $level, will print to the screen according to the log level
  16. // if $new_line = false, no new line will be printed (default is to print a new line)
  17. function logMessage($level, $message, $new_line = true) {
  18. global $logFile, $logPrintLevel;
  19. if (!isset($logFile))
  20. return;
  21. $message = str_replace("\\n", PHP_EOL, $message);
  22. $message = str_replace("\\t", "\t", $message);
  23. $logLine = date(L_DATE_FORMAT).' '.$level.' '.$message.PHP_EOL;
  24. OsUtils::appendFile($logFile, $logLine);
  25. // print to screen according to log level
  26. if ((($level === L_USER) && ($logPrintLevel >= 0)) ||
  27. (($level === L_ERROR) && ($logPrintLevel >= 1)) ||
  28. (($level === L_WARNING) && ($logPrintLevel >= 2)) ||
  29. (($level === L_INFO) && ($logPrintLevel >= 3))) {
  30. echo $message;
  31. if ($new_line)
  32. echo PHP_EOL;
  33. }
  34. }