心理咨询网
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

LogDb.php 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * @copyright (C)2016-2099 Hnaoyun Inc.
  4. * @author XingMeng
  5. * @email hnxsh@foxmail.com
  6. * @date 2017年11月16日
  7. * 日志数据库驱动
  8. */
  9. namespace core\log;
  10. use core\basic\Model;
  11. class LogDb implements Builder
  12. {
  13. protected static $logDb;
  14. protected static $model;
  15. private function __construct()
  16. {}
  17. // 用于获取单一实例
  18. public static function getInstance()
  19. {
  20. if (! self::$logDb) {
  21. self::$logDb = new self();
  22. self::$model = new Model();
  23. }
  24. return self::$logDb;
  25. }
  26. // 写入日志
  27. public function write($content, $level = "info", $username = null)
  28. {
  29. $username = $username ?: session('username');
  30. $data = array(
  31. 'level' => $level,
  32. 'event' => escape_string($content),
  33. 'user_ip' => ip2long(get_user_ip()),
  34. 'user_os' => get_user_os(),
  35. 'user_bs' => get_user_bs(),
  36. 'create_user' => $username,
  37. 'create_time' => get_datetime()
  38. );
  39. return self::$model->table('ay_syslog')->insert($data);
  40. }
  41. // 写入错误日志
  42. public function error($content)
  43. {
  44. return $this->write($content, 'error');
  45. }
  46. // 写入信息日志
  47. public function info($content)
  48. {
  49. return $this->write($content, 'info');
  50. }
  51. }