×ðÁú¿­Ê±¹ÙÍøµÇ¼

laravelдÈÕÖ¾ÒªÁì

laravel ÊÇÒ»¿îºÜÊÇÊ¢ÐÐµÄ php ¿ª·¢¿ò¼Ü £¬ÆäÎÞаºÍÇ¿Ê¢µÄ¹¦Ð§»ñµÃÁË¿í´ó¿ª·¢ÕßµÄÇàíù¡£ÔÚÓ¦Óÿª·¢Àú³ÌÖÐ £¬¼Í¼ÈÕÖ¾ÊǺÜÊÇÖ÷ÒªµÄÒ»ÏîÊÂÇé £¬ÕâÑù¿ÉÒÔ×ÊÖú¿ª·¢Ö°Ô±¿ìËÙ¶¨Î»Ï¢Õù¾öÎÊÌâ¡£±¾ÎĽ«ÏÈÈÝ laravel дÈÕÖ¾µÄÒªÁì¡£

ÉèÖÃÈÕÖ¾ÐÅÏ¢

Laravel ÖеÄÈÕÖ¾ÉèÖÃÐÅÏ¢´æ·ÅÔÚ config Ŀ¼Ï嵀 logging.php ÎļþÖС£ÔÚ¸ÃÎļþÖнç˵ÁËĬÈϵÄÈÕÖ¾Çý¶¯ºÍ Log channel£¨ÈÕ־ͨµÀ£©¡£

¿ÉÒÔƾ֤ÐèÒª £¬×Ô½ç˵ÈÕÖ¾Çý¶¯ºÍ Log channel¡£×î³£¼ûµÄÈÕÖ¾Çý¶¯ÀàÐÍ°üÀ¨£ºµ¥¸öÎļþºÍÖðÈÕÈÕÖ¾Îļþ¡£ÆäÖÐ £¬µ¥¸öÎļþģʽ½«ËùÓÐÈÕÖ¾¼Í¼µ½Ò»¸öÎļþÖÐ £¬¶øÖðÈÕÈÕÖ¾ÎļþģʽÔò»áÓÉÓÚÌìÌìµÄÈÕÆÚ¶ø½¨ÉèеÄÈÕÖ¾Îļþ¡£

ÔÚÉèÖÃÎļþÖÐÑ¡ÔñÈÕÖ¾Çý¶¯ÀàÐÍÖ®ºó £¬ÎÒÃÇ»¹ÐèÒªÉèÖà Log channel £¬ÒÔ±ãÔÚÓ¦ÓóÌÐòÖмͼÈÕ־ʱʹÓá£

ʹÓà Log Facade дÈÕÖ¾

Laravel ÌṩÁËÒ»¸ö Log Facade £¬ÌṩÁ˼ͼÈÕÖ¾µÄÒªÁì £¬Ê¹ÎÒÃÇ¿ÉÒÔÇáËɵؽ«ÈÕÖ¾ÐÅÏ¢¼Í¼µ½ÈÕÖ¾ÎļþÖС£Ö±½ÓʹÓà Log:: À´Å²Óà Log Facade £¬Ê¹Óà info() »òÕß debug() ¼Í¼ÈÕÖ¾ÐÅÏ¢¼´¿É¡£ÈçÏÂËùʾ£º

use IlluminateSupportFacadesLog;

// ¼Í¼ Info ¼¶±ðµÄÈÕÖ¾ÐÅÏ¢
Log::info('This is an info level message.');

// ¼Í¼ Debug ¼¶±ðµÄÈÕÖ¾ÐÅÏ¢
Log::debug('This is a debug level message.');

µÇ¼ºó¸´ÖÆ

¿ÉÒÔÔÚÈÕÖ¾ÉèÖÃÎļþÖнç˵²î±ðµÄ Log channel £¬²¢ÉèÖòî±ðµÄ´¦ÀíÆ÷£¨Handlers£© £¬ÒԱ㽫ÈÕÖ¾ÐÅÏ¢´æ´¢µ½²î±ðµÄλÖá£

ÈçÏÂËùʾ£º

use IlluminateSupportFacadesLog;

// ʹÓà MyLog ͨµÀ¼Í¼ Info ¼¶±ðµÄÈÕÖ¾ÐÅÏ¢
Log::channel('MyLog')->info('This is an info level message.');

// ʹÓà MyLog ͨµÀ¼Í¼ Debug ¼¶±ðµÄÈÕÖ¾ÐÅÏ¢
Log::channel('MyLog')->debug('This is a debug level message.');

µÇ¼ºó¸´ÖÆ

ʹÓà Monolog дÈÕÖ¾

Monolog ÊÇ PHP ÖеÄÒ»¿îÇ¿Ê¢µÄÈÕÖ¾¹¤¾ß £¬Laravel ʹÓà Monolog ×÷ΪÆäÈÕÖ¾×é¼þ¡£Monolog ÌṩÁ˶àÖÖ´¦ÀíÆ÷ºÍÃûÌÃÆ÷ £¬ÔÊÐíÎÒÃǶÔÈÕÖ¾¾ÙÐÐÔ½·¢Ï꾡µÄÉèÖá£

ÔÚ Laravel ÖÐ £¬ÎÒÃÇ¿ÉÒÔʹÓà Monolog À´´¦Àí²¢¼Í¼ÈÕÖ¾ÐÅÏ¢¡£Laravel ͨ¹ýÈÝÆ÷°ó¶¨ÊµÏÖÁË Monolog µÄ·â×°¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÈÝÆ÷°ó¶¨×Ô½ç˵ Monolog ʵÀý £¬²¢ÃüÃûÿ¸öʵÀý £¬ÒÔ±ãÔÚÓ¦ÓóÌÐòÖÐÒýÓÃËü¡£

ÈçÏÂËùʾ £¬ÎÒÃÇ¿ÉÒÔÔÚ AppServiceProvider Öаó¶¨Ò»¸öÐ嵀 Monolog ʵÀý£º

use MonologLogger;
use MonologHandlerStreamHandler;

public function register()
{
    $this->app->bind('myLogger', function () {
        $log = new Logger('myLog');
        $log->pushHandler(new StreamHandler(storage_path('logs/myLog.log')), Logger::INFO);
        return $log;
    });
}

µÇ¼ºó¸´ÖÆ

È»ºó £¬ÔÚÓ¦ÓóÌÐòÖÐʹÓøÃʵÀý¼Í¼ÈÕÖ¾ÐÅÏ¢¡£ÈçÏÂËùʾ£º

use IlluminateSupportFacadesLog;

Log::channel('myLogger')->info('This is an info level message.');

µÇ¼ºó¸´ÖÆ

³ýÁËʹÓÃĬÈϵÄÈÕÖ¾ÉèÖÃÎļþ £¬ÎÒÃÇ»¹¿ÉÒÔʹÓÃ×Ô½ç˵µÄÈÕÖ¾ÉèÖÃÎļþÀ´ÉèÖà Monolog¡£ÈçÏÂËùʾ £¬ÔÚ×Ô½ç˵ÈÕÖ¾ÉèÖÃÎļþÖÐʹÓà Monolog µÄ addRecord() ÒªÁìÌí¼ÓÈÕÖ¾ÐÅÏ¢£º

use MonologLogger;

return [
    'myLog' => [
        'driver' => 'monolog',
        'level' => 'debug',
        'handler_with' => [
            [
                'handler' => StreamHandler::class,
                'options' => [
                    'level' => Logger::INFO,
                    'stream' => storage_path('logs/mylog.log'),
                    'bubble' => true
                ]
            ]
        ],
        'tap' => [MyLogChannel::class]
    ]
];

µÇ¼ºó¸´ÖÆ

ÐèҪעÖØ £¬ÕâÀïµÄ tap ÉèÖÃΪ×Ô½ç˵ Log channel ʵÀý¡£ÎÒÃDZØÐèÔÚÓ¦ÓóÌÐòÖÐ×¢²á¸ÃʵÀý £¬ÒÔ±ã¿ÉÒÔʹÓøÃʵÀýÀ´¼Í¼ÈÕÖ¾ÐÅÏ¢¡£

×ܽá

ÔÚ Laravel ÖÐ £¬¼Í¼ÈÕÖ¾ÊÇÓ¦ÓóÌÐò¿ª·¢µÄÐëÒªÊÂÇ顣ͨ¹ý¶ÔÈÕÖ¾ÉèÖÃÎļþµÄÉèÖúÍʹÓà Log Facade ºÍ Monolog £¬ÎÒÃÇ¿ÉÒÔºÜÈÝÒ׵ؼͼÈÕÖ¾ÐÅÏ¢²¢¶ÔÆä¾ÙÐд¦Àí¡£

ËäÈ» £¬ÕâÀïÖ»ÏÈÈÝÁË Laravel дÈÕÖ¾µÄ×î»ù±¾ÒªÁì £¬ÈôÊÇÐèÒª¸üÉîÈëµÄÏàʶ £¬¿ÉÒÔÉó²é Laravel ¹Ù·½Îĵµ»òËÑË÷Ïà¹Ø×ÊÁÏ¡£

ÒÔÉϾÍÊÇlaravelдÈÕÖ¾ÒªÁìµÄÏêϸÄÚÈÝ £¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí £¬°æȨÕùÒéÓë±¾Õ¾ÎÞ¹Ø £¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È £¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ £¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢ £¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢ £¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎå £¬9:30-18:30 £¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ