Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
WebLogger.php
Go to the documentation of this file.
1 <?php
7 namespace Magento\Setup\Model;
8 
12 
18 class WebLogger implements LoggerInterface
19 {
25  protected $logFile = 'install.log';
26 
32  protected $filesystem;
33 
39  protected $directory;
40 
46  private $isInline = false;
47 
53  public function __construct(Filesystem $filesystem, $logFile = null)
54  {
55  $this->directory = $filesystem->getDirectoryWrite(DirectoryList::LOG);
56  if ($logFile) {
57  $this->logFile = $logFile;
58  }
59  }
60 
64  public function logSuccess($message)
65  {
66  $this->terminateLine();
67  $this->writeToFile('<span class="text-success">[SUCCESS] ' . $message . '</span><br>');
68  }
69 
73  public function logError(\Exception $e)
74  {
75  $this->terminateLine();
76  $this->writeToFile('<span class="text-danger">[ERROR] ' . $e . '<span><br>');
77  }
78 
82  public function log($message)
83  {
84  $this->terminateLine();
85  $this->writeToFile('<span class="text-info">' . $message . '</span><br>');
86  }
87 
91  public function logInline($message)
92  {
93  $this->isInline = true;
94  $this->writeToFile('<span class="text-info">' . $message . '</span>');
95  }
96 
100  public function logMeta($message)
101  {
102  $this->terminateLine();
103  $this->writeToFile('<span class="hidden">' . $message . '</span><br>');
104  }
105 
112  private function writeToFile($message)
113  {
114  $this->directory->writeFile($this->logFile, $message, 'a+');
115  }
116 
122  public function get()
123  {
124  $fileContents = explode(PHP_EOL, $this->directory->readFile($this->logFile));
125  return $fileContents;
126  }
127 
133  public function clear()
134  {
135  if ($this->directory->isExist($this->logFile)) {
136  $this->directory->delete($this->logFile);
137  }
138  }
139 
145  public function logfileExists()
146  {
147  return ($this->directory->isExist($this->logFile));
148  }
149 
155  private function terminateLine()
156  {
157  if ($this->isInline) {
158  $this->isInline = false;
159  $this->writeToFile('<br>');
160  }
161  }
162 }
$message
__construct(Filesystem $filesystem, $logFile=null)
Definition: WebLogger.php:53