PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.0.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.0.0
4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Filesystem / LogCleanup.php
wp-staging / Framework / Filesystem Last commit date
Filters 1 year ago Scanning 5 years ago AbstractFileObject.php 1 year ago DebugLogReader.php 2 years ago DirectoryListing.php 2 years ago DiskWriteCheck.php 1 year ago FileObject.php 1 year ago Filesystem.php 1 year ago FilesystemExceptions.php 5 years ago FilterableDirectoryIterator.php 2 years ago LogCleanup.php 2 years ago LogFiles.php 2 years ago MissingFileException.php 3 years ago OPcache.php 2 years ago PartIdentifier.php 1 year ago PathChecker.php 2 years ago PathIdentifier.php 1 year ago Permissions.php 1 year ago WpUploadsFolderSymlinker.php 5 years ago
LogCleanup.php
47 lines
1 <?php
2
3 namespace WPStaging\Framework\Filesystem;
4
5 use WPStaging\Core\Utils\Logger;
6
7 class LogCleanup
8 {
9 protected $logger;
10
11 public function __construct(Logger $logger)
12 {
13 $this->logger = $logger;
14 }
15
16 public function cleanOldLogs()
17 {
18 try {
19 $it = new \DirectoryIterator($this->logger->getLogDir());
20 } catch (\Exception $e) {
21 // Early bail: Couldn't open directory.
22 return;
23 }
24
25 // Delete logs older than 14 days by default
26 $deleteOlderThanDays = absint(apply_filters('wpstg.logs.deleteOlderThanDays', 14));
27
28 // Delete logs bigger than 5mb by default
29 $deleteBiggerThan = absint(apply_filters('wpstg.logs.deleteBiggerThanBytes', 5 * MB_IN_BYTES));
30
31 /** @var \SplFileInfo $splFileInfo */
32 foreach ($it as $splFileInfo) {
33 if ($splFileInfo->isFile() && !$splFileInfo->isLink() && $splFileInfo->getExtension() === 'log') {
34 if ($splFileInfo->getSize() > $deleteBiggerThan) {
35 unlink($splFileInfo->getPathname());
36 continue;
37 }
38
39 if ($splFileInfo->getMTime() < strtotime("-$deleteOlderThanDays days")) {
40 // Not silenced nor logged
41 unlink($splFileInfo->getPathname());
42 }
43 }
44 }
45 }
46 }
47