Доброго времени суток!
Мне необходимо реализовать запись логов в различные папки.
Например:
Я отправляю xml через curl-запрос, мне надо записать в отдельный файл лога этот xml.
Мне приходит ответ и его тоже надо записать в отдельный лог файл.
При этом файлы надо распределить в папки runtime/log/действие/год/месяц/день/имя_файла
Есть ли в Yii возможность реализовать то, что мне нужно?
Спасибо!
Запись логов по папкам
Re: Запись логов по папкам
Можно в конфиге настроить отдельные пути для разных категорий сообщений.
В самом коде вызывать запись сообщений и указывать категорию
Динамически собрать имя для параметра 'logFile' думаю сумеете.
Код: Выделить всё
...
'components' => [
'log' => [
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
[
'class' => 'yii\log\FileTarget',
'logFile' => '@runtime/logs/rollback.log',
'levels' => ['info'],
'categories' => ['rollback*'],
'logVars' => [],
'maxFileSize' => 1024,
'maxLogFiles' => 20,
],
....
Код: Выделить всё
...
Yii::info(implode("\n", $sqlRollback), 'rollback');
...
Re: Запись логов по папкам
Спасибо большое!
Вопрос в том, как задавать каждому файлу лога отдельное имя в зависимости от ответа на мой запрос.
Пробовал вот такое:
Файл лога создался, а вот как теперь туда положить информацию?
С использованием в качестве имени лог файла даты проблем, конечно, не возникло.
Вопрос в том, как задавать каждому файлу лога отдельное имя в зависимости от ответа на мой запрос.
Пробовал вот такое:
Код: Выделить всё
$logger = new FileTarget();
$logger->logFile = Yii::getAlias('@app/').'path/to/my_log_forder/'.date("Y").'/'.date("m").'/'.'log_name.log';