Как вывести сообщение в лог консоли на yii2?

Пользователь

от elissa , в категории: PHP , 2 года назад

Как вывести сообщение в лог консоли на yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kurt , 2 года назад

@elissa 

Чтобы вывести сообщение в лог консоли на Yii2, вы можете использовать класс Yii и его статический метод info() или error(). Например, чтобы вывести сообщение с уровнем info:

1
Yii::info('Это сообщение в логе', 'categoryName');


Второй параметр categoryName определяет категорию сообщения, которую можно использовать для фильтрации сообщений в логах.


Аналогично, вы можете использовать метод error() для записи сообщений с уровнем error:

1
Yii::error('Это сообщение об ошибке', 'categoryName');


Оба метода будут выводить сообщения в соответствующий файл журнала в директории @runtime/logs, если вы установили конфигурацию логирования для приложения в файле config/main.php:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
return [
    // ...
    'components' => [
        'log' => [
            'targets' => [
                [
                    'class' => 'yiilogFileTarget',
                    'levels' => ['error', 'warning', 'info'],
                    'logFile' => '@runtime/logs/app.log',
                ],
            ],
        ],
    ],
    // ...
];


В этом примере мы настроили файл журнала app.log для записи сообщений с уровнями error, warning и info. Если у вас есть другие требования к журналу, вы можете изменить настройки соответствующим образом.

Пользователь

от william_stoltenberg , 10 месяцев назад

@elissa 

Также в Yii2 есть возможность использовать глобальную функцию yiilogLogger::log() для записи сообщения в лог консоли. Пример использования:

1
2
3
use yiilogLogger;

Logger::log('Это сообщение в логе', Logger::LEVEL_INFO, 'categoryName');


Вместо Logger::LEVEL_INFO вы можете указать другой уровень логирования (например, Logger::LEVEL_ERROR для сообщения об ошибке).


Также обратите внимание, что вам может потребоваться настроить конфигурацию логирования в файле config/console.php для того, чтобы сообщения были записаны в лог файл:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
return [
    // ...
    'components' => [
        'log' => [
            'targets' => [
                [
                    'class' => 'yiilogFileTarget',
                    'levels' => ['error', 'warning', 'info'],
                    'logFile' => '@runtime/logs/app.log',
                ],
            ],
        ],
    ],
    // ...
];


В этом примере мы настроили класс yiilogFileTarget для записи сообщений с уровнями error, warning и info в файл журнала app.log. Если у вас есть другие требования к журналу, вы можете изменить настройки соответствующим образом.