Я вижу, работает ли скрипт в консоли с помощью команды App::runningInConsole()
, но я хотел бы знать (для целей ведения журнала аудита), какая команда была запущена с консоли.Как получить текущую консольную команду в Laravel
Чтобы добавить некоторый контекст - мне нужно регистрироваться всякий раз, когда система или пользователь обращаются к определенному типу данных. Для пользователей это довольно просто - я могу использовать Auth::user()
и получить их IP-адрес от Request
, но для консольных команд это немного сложнее.
Я могу выяснить, работает ли консольная команда, что хорошо, но мне нужно записать , с которой работает консольная консоль.
Да, я надеялся, что есть некоторая плохо документированная функция laravel, которую вы могли бы назвать (например, «App :: currentCommand()» или что-то еще). В случае команды, вызывающей команду, я бы предпочел зарегистрировать внутреннюю команду. – samlev
Когда laravel выполняет команду, он обновляет имя процесса, в котором он запущен. Если вы установите $ processTitle для своей команды, вы должны вернуть все, что вы там положили, вызвав «cli_get_process_title()», просто убедитесь, что вы находитесь в CLI Режим. –
Если вы установите «protected $ processTitle = _ _ CLASS _ _;» вы получите то, что вам нужно, но я бы назвал это взломом, а не особенностью. –