За последние 24 часа нас посетили 62815 программистов и 1741 робот. Сейчас ищут 1132 программиста ...

Лог ошибочных страниц

Тема в разделе "Прочие вопросы по PHP", создана пользователем kit, 16 фев 2013.

  1. kit

    kit Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    331
    Симпатии:
    1
    Адрес:
    местный
    Подскажите как реализовать такую задачу.
    Необходимо записать в базу все ошибочные (не существующие) страницы (адреса) на которые пытается зайти пользователь.
    Спасибо за идеи.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    идея простая: писать те, что не были найдены!
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. interface level {
    2.     const ERROR='ERROR:',
    3.             INFO='INFO:';
    4. }
    5.  
    6. abstract class log implements level {
    7.     private static $folder='log',
    8.                     $format='.txt';
    9.     public static function message($message,$level=parent::INFO,$file='info') {
    10.         echo $level.' '.$message.' FILE: '.$file.self::$format;
    11.         //в данной функции нужно реализовать добавление логов, файлов... Проверяя файл или создавая новые и изменяя их содержимое...
    12.     }
    13. }
    14.  
    15. final class site extends log {
    16.     private $arrays=array();
    17.     private static $site=null;
    18.     protected function __construct(array $array) {
    19.         foreach($array as $key => $value) {
    20.             $this->arrays[$key]=$value;
    21.         }
    22.     }
    23.     
    24.     public static function funct1() {
    25.         if(null===self::$site) {
    26.             self::$site=new site(array('key1'=>'value1','key2'=>'value2'));
    27.             self::$site->funct2(self::$site);
    28.         }
    29.     }
    30.     
    31.     protected function funct2(site $site) {
    32.         $site=json_encode($site->arrays);
    33.         $site=json_decode($site);
    34.         if('value1'===$site->key1) {
    35.             parent::message(__CLASS__.'->'.__FUNCTION__.' missing value...',level::ERROR);
    36.         }
    37.     }
    38. }
    39. site::funct1();
    40. echo'<br>';
    41. site::message('Message...',site::INFO); 
    Просто эксперимент не более, захотелось взять по разному все слепить))) получилось...
    Можно и упростить и сделать обычными статиками... да это вообще просто так))) для интереса...
     
  4. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Прочитать error.log, или access.log, смотря как логирование настроена. А вообще мона запилить чтобы все 404 писались в отдельный файл и тольк URL, вынести лог в папку доступную для чтения пыхом и радоваться жизни
     
  5. kit

    kit Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    331
    Симпатии:
    1
    Адрес:
    местный
    Друзья. Всем спасибо!
    Your. Спасибо за код. Для меня там ни одного знакомого слова. Потребуется пару дней на разбор и понимание.
    В логах что дает хост фигня какая то. Все что угодно только не то что надо.
     
  6. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Логирование можно настроить, как и формат, в итоге мы можем получить отдельный лог с содержанием url на которые сервер вернул 404
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не слушай дядек, они плохому научат.

    расскажи о своей ситуации подробнее: что за хостинг, на чем сайт висит, какая у сайта задача в общих чертах.
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. final class log {
    2.     private static $folder='log',$format='.txt';
    3.     const ERROR='ERROR:',INFO='INFO:';
    4.     protected function _construct() {
    5.     }
    6.     public static function message($message,$level=self::INFO,$file='info') {
    7.         echo $level.' '.$message.' FILE: '.$file.self::$format;
    8.         //в данной функции нужно реализовать добавление логов, файлов... Проверяя файл или создавая новые и изменяя их содержимое...
    9.     }
    10. }
    11.  
    12. log::message('info...');
    13. log::message('missing value...',log::ERROR);

    Вообще такие вещи помогут в проектах магазинах (кто-то, что-то купил, или там оформил, не важно) или других каких-то проектах, тем, что записываться будет, то, что вы для себя составляете... И будет в том, месте в котором находится сайт, при этом будет лежать .htaccess в папке с доступом от localhost или другой root машины и просматривать их на сервере и выводить в админку.
     
  9. kit

    kit Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    331
    Симпатии:
    1
    Адрес:
    местный
    Ситуация следующая. Есть девайс. В железяке забит адрес моего сервера и порт. Устройство периодически ссылкой на сервер передает данные. Изменить ссылку невозможно по этому проще написать страницу под нее и таким образом принять передаваемые девайсом данные. Задача вычислить форму ссылки
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    она всегда одинаковая эта ссылка? и ты просто хочешь узнать, какая она? - логи сервера.
     
  11. kit

    kit Активный пользователь

    С нами с:
    18 дек 2006
    Сообщения:
    331
    Симпатии:
    1
    Адрес:
    местный
    Спасибо! Разобрался, помогла тех. Поддержка.
    Друзья спасибо, вопрос снят.