✏️ 正在编辑: Log.php
路径:
/srv/systems_dir/koruspay/application/services/Log.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php use Carbon\Carbon; use Monolog\Handler\StreamHandler; use Monolog\Logger; class Service_Log { /** @var string */ public const PATH = '/../data/cache', LOG_NAME = 'yuppie', LOG_ERRO = 'ERRO' ; /** * @param string|null $logName * @return Logger * @throws \Exception */ public static function getLogger(?string $logName = self::LOG_NAME): Logger { self::config(); $logger = new Logger(self::LOG_NAME, [], []); $logger->pushHandler(new StreamHandler(self::getLogPathFile($logName))); return $logger; } /** * @param string|null $logName * @return string */ public static function getLogPathFile(?string $logName = self::LOG_NAME): string { return self::getPathLog() . '/' . self::getLogName($logName); } /** * @return string */ public static function getPathLog(): string { return CLIENT_PATH . self::PATH; } public static function config(): void { if (!is_dir(self::getPathLog())) { mkdir(self::getPathLog(), 777, true); } } /** * @param string|null $logName * @return string */ public static function getLogName(?string $logName = self::LOG_NAME): string { return $logName . '_' . Carbon::now()->format('d-m-Y') . '.log'; } /** * @param string $processo * @throws \Exception */ public static function startLog(string $processo) { self::getLogger()->info('Inicio processo <' . $processo . '>'); } /** * @param $message * @param array $context * @throws \Exception */ public static function insertLog($message, array $context = []): void { self::getLogger()->info($message, $context); } /** * @param string $processo * @throws \Exception */ public static function endLog(string $processo): void { self::getLogger()->info('Fim do processo <' . $processo . '>'); } /** * @param string $mensagemErro * @param string $processo * @param array $context * @throws \Exception */ public static function endWithErro(string $mensagemErro, string $processo, array $context = []): void { self::insertLog( 'Processo <' . $processo . '> finalizado com o seguinte erro "' . $mensagemErro . '"', $context ); } /** * @param \Throwable $throwable * @throws \Exception */ public static function exceptionLog(\Throwable $throwable): void { $logger = self::getLogger(self::LOG_ERRO); $logger->alert("Ocorreu o seguinte erro: <" . $throwable->getMessage() . ">"); $logger->alert("File: " . $throwable->getFile()); $logger->alert("Line: " . $throwable->getLine()); $logger->info("< Fim do erro >"); } }
💾 保存文件
← 返回文件管理器