Advertisement
Guest User

Untitled

a guest
Jun 9th, 2016
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.50 KB | None | 0 0
  1. <?php
  2.  
  3. if( !isset($argv[1]) ) {
  4.     die("\r\n===ERROR===\r\nPodaj plik z logami do parsowania!\r\n");
  5. }
  6.  
  7.  
  8. class errorLevelsObserver implements SplObserver {
  9.    
  10.     /**
  11.     *   ERROR - 1024
  12.     *   TRACE - 9154
  13.     *   DEBUG - 999
  14.     */
  15.     public function update(SplSubject $subject) {
  16.    
  17.     }
  18. }
  19.  
  20. class errorCodesObserver implements SplObserver {
  21.    
  22.     /**
  23.     *   kod 101 - 57
  24.     *   kod 102 - 999
  25.     */
  26.     public function update(SplSubject $subject) {
  27.        
  28.     }
  29. }
  30.  
  31. class errorFilesObserver implements SplObserver {
  32.    
  33.     /**
  34.     *   plik pl/wp/recruitment/entity/User.java - 67
  35.     *   plik pl/wp/recruitment/entity/CV.java - 51
  36.     */
  37.     public function update(SplSubject $subject) {
  38.    
  39.     }
  40. }
  41.  
  42. class Errors implements SplSubject {
  43.     private $observers = [];
  44.    
  45.     public function attach(SplObserver $observer) {
  46.         $this->observers[spl_object_hash($observer)] = $observer;
  47.     }
  48.    
  49.     public function detach(SplObserver $observer) {
  50.         unset($this->observers[spl_object_hash($observer)]);
  51.     }
  52.    
  53.     public function notify() {
  54.         foreach ($this->observers as $observer) {
  55.             $observer->update($this);
  56.         }
  57.     }
  58.    
  59.     public function parse($data) {
  60.         $this->notify();
  61.     }
  62. }
  63.  
  64.  
  65. $logs = simplexml_load_file( $argv[1] );
  66.  
  67. $errors = new Errors();
  68. $errors->attach(new errorLevelsObserver());
  69. $errors->attach(new errorCodesObserver());
  70. $errors->attach(new errorFilesObserver());
  71.  
  72. foreach($logs as $log) {
  73.     $errors->parse([
  74.         "level" =>$log->level,
  75.         "file"  =>$log->file,
  76.         "line"  =>$log->line,
  77.         "code"  =>$log->code
  78.         ]);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement