123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php namespace Laravel;
- class Log {
- /**
- * Log an exception to the log file.
- *
- * @param Exception $e
- * @return void
- */
- public static function exception($e)
- {
- static::write('error', static::exception_line($e));
- }
- /**
- * Format a log friendly message from the given exception.
- *
- * @param Exception $e
- * @return string
- */
- protected static function exception_line($e)
- {
- return $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine();
- }
- /**
- * Write a message to the log file.
- *
- * <code>
- * // Write an "error" messge to the log file
- * Log::write('error', 'Something went horribly wrong!');
- *
- * // Write an "error" message using the class' magic method
- * Log::error('Something went horribly wrong!');
- * </code>
- *
- * @param string $type
- * @param string $message
- * @return void
- */
- public static function write($type, $message)
- {
- // If there is a listener for the log event, we'll delegate the logging
- // to the event and not write to the log files. This allows for quick
- // swapping of log implementations for debugging.
- if (Event::listeners('laravel.log'))
- {
- Event::fire('laravel.log', array($type, $message));
- }
- // If there aren't listeners on the log event, we'll just write to the
- // log files using the default conventions, writing one log file per
- // day so they files don't get too crowded.
- else
- {
- $message = static::format($type, $message);
- File::append(path('storage').'logs/'.date('Y-m-d').'.log', $message);
- }
- }
- /**
- * Format a log message for logging.
- *
- * @param string $type
- * @param
- */
- protected static function format($type, $message)
- {
- return date('Y-m-d H:i:s').' '.Str::upper($type)." - {$message}".PHP_EOL;
- }
- /**
- * Dynamically write a log message.
- *
- * <code>
- * // Write an "error" message to the log file
- * Log::error('This is an error!');
- *
- * // Write a "warning" message to the log file
- * Log::warning('This is a warning!');
- * </code>
- */
- public static function __callStatic($method, $parameters)
- {
- static::write($method, $parameters[0]);
- }
- }
|