17 lines
862 B
PHP
17 lines
862 B
PHP
<?php
|
|
if (!defined('ABSPATH')) exit;
|
|
class WZHF_Logger {
|
|
public static function log($m,$ctx=array()){
|
|
$upload=wp_upload_dir(); $dir=trailingslashit($upload['basedir']).'wzhf-logs';
|
|
if(!file_exists($dir)) wp_mkdir_p($dir);
|
|
$file=$dir.'/log-'.gmdate('Y-m-d').'.log';
|
|
$line='['.gmdate('H:i:s').'] '.$m.(!empty($ctx)?' | '.json_encode($ctx,JSON_UNESCAPED_UNICODE):'').PHP_EOL;
|
|
@file_put_contents($file,$line,FILE_APPEND);
|
|
}
|
|
public static function latest_logs($n=5){
|
|
$upload=wp_upload_dir(); $dir=trailingslashit($upload['basedir']).'wzhf-logs'; if(!is_dir($dir)) return array();
|
|
$files=array_values(array_filter(scandir($dir),function($f){return strpos($f,'log-')===0;})); rsort($files); $files=array_slice($files,0,$n); $out=array();
|
|
foreach($files as $f){ $p=$dir.'/'.$f; $out[$f]=@file_get_contents($p); } return $out;
|
|
}
|
|
}
|