2016-07-26 3 views
1

Я пытаюсь использовать встроенный Slim logwriter, но пока не удалось.Включение logwriter в Userfrosting

Это то, что я пытаюсь, но я получаю сообщение об ошибке.

  1. Изменения в config_userfrosting.php:

    /*Create a log writer */ 
    
    $logWriter = new \UserFrosting\LogWriter(fopen('C:\xampp\htdocs\userfrosting\log\dev_logfile.log', 'a')); 
    
    $app->configureMode('dev', function() use ($app, $public_path, $uri_public_root) { 
    $app->config([ 
        'log.enable' => true, 
        'log.writer' => $logWriter, 
        'debug' => false, 
    
  2. журнала вызовов писатель из index.php:

$ app-> лог-> отладки ("Это тест из регистратора ... ");

Ошибка получения:

PHP Notice: Undefined variable: logWriter in \\userfrosting\\config-userfrosting.php on line 33 

ответ

2

Для того, чтобы переменная будет доступна внутри закрытия (configureMode), вам нужно передать его в со списком use(...) аргументов:

$app->configureMode('dev', function() use ($app, $public_path, $uri_public_root, $logWriter) { 

    $app->config([ 
     'log.enable' => true, 
     'log.writer' => $logWriter, 
     'debug' => false, 
     ... 
}); 
+0

Я обновляемой аргументы использования (..), как показано. Однако теперь возникает следующая ошибка: 'PHP Fatal error: Class 'UserFrosting \\ LogWriter' не найден в C: \\ xampp \\ htdocs \\ userfrosting \\ config-userfrosting.php' –

+0

Получил это. Мне нужно было использовать \ Slim \ Logwriter. Спасибо @alexw. –

+0

Не забудьте принять и перенести мой ответ! – alexw