kuran / slogger
简单的日志文件。
v1.0.2
2024-01-25 18:07 UTC
Requires
- php: >=8.1
- psr/log: ^3.0
README
PHP的一个简单日志类。
关于
这是一个简单的日志类,易于实现,以便您不必担心太多配置。
此类遵循PSR-3标准。
基本用法
使用Logger类所需的最小设置。
<?php require_once("vendor/Autoloader.php"); use Kuran\SLOGGER\{Logger, ErrorLevel, Managers\FileManager}; /* Instanciate the Logger. * Add a Manager to the logger. The manager has a default Formater. */ $log = new Logger( array( new FileManager() ) ); /* Simple log. * Needs a message body, and an array for context. */ $log->alert( "Test message for the file {:file}", array( ":file" => __FILE__, ":extras" => array( ["name" => "Admin", "username" => "admin"], ["name" => "Root", "username" => "root"] ) ) );
Logger类选项
- 构造函数
__construct(array $managers = array())
与创建不带参数的logger然后使用 setManagers()
函数相同
- setManagers方法
此方法用于将一组管理器设置到logger中。
这将替换Logger的管理器列表。
setManagers(array $managers);
可以使用多个管理器将消息记录到不同的文件中,或使用不同的方法(数据库等)。或者以不同的错误级别记录消息。
- addManager方法
此方法用于向管理器栈中添加单个管理器。
如果您想在代码中稍后添加另一个 Manager
addManager(ManagerInterface $manager);
文件管理器选项
- 构造函数
所有参数都是可选的。
__construct( string $filePath = 'app.log', ErrorLevel $level = ErrorLevel::ERROR, FormaterInterface $formater = null)
- setFormater
用于替换现有格式化器。
setFormater(FormaterInterface $formater)
用法
$manager = new FileManager( filePath: "path/to/logfile.log", level: ErrorLevel::INFO, // Set the minimum Error level for this manager. formater: new LineFormater() ) // Setting multiple managers with different Error Levels $log = new Logger(); $errorManager = new FileManager( filePath: "error.log", level: ErrorLevel::ERROR ); $debugManager = new FileManager( filePath: "debug.log", level: ErrorLevel::DEBUG ); //set the Manager list to $errorManager and $debugManager $log->setManager(array($errorManager, $debugManager)); // add $manager to the list of managers $log->addManager($manager);
错误级别
错误级别在 ErrorLevel
枚举中定义如下
enum ErrorLevel: int { case EMERGENCY = 800; //ErrorLevel::EMERGENCY case ALERT = 700; //ErrorLevel::ALERT case CRITICAL = 600; //ErrorLevel::CRITIAL case ERROR = 500; //ErrorLevel::ERROR case WARNING = 400; //ErrorLevel::WARNING case NOTICE = 300; //ErrorLevel::NOTICE case INFO = 200; //ErrorLevel::INFO case DEBUG = 100; //ErrorLevel::DEBUG }
行格式器选项
- 构造函数
所有参数都是可选的。
__construct( string $format = null, string $timeFormat = null )
用法
$formater = new LineFormater( format: "{:date} {:errorLevel} {:message} {:context}", timeFormat: "m-d-Y H:i" );