Эквивалент PHP error_log для информационных журналов? - PullRequest
27 голосов
/ 05 октября 2011

Привет, ребята: я использую error_log для своей регистрации, но я понимаю, что должен быть более идиоматический способ регистрации прогресса приложения. есть info_log? или эквивалент?

Ответы [ 2 ]

20 голосов
/ 05 октября 2011

Вы можете использовать error_log для добавления к указанному файлу.

error_log($myMessage, 3, 'my/file/path/log.txt');

Обратите внимание, что вам нужно иметь 3 (тип сообщения), чтобы добавить к данному файлу.

Вы можете создать функцию на ранней стадии в вашем скрипте, чтобы обернуть эту функцию:

function log_message($message) {
    error_log($message, 3, 'my/file/path/log.txt');   
}
0 голосов
/ 24 декабря 2018

Я бы порекомендовал вам использовать Monolog: https://github.com/Seldaek/monolog

Вы можете добавить зависимость с помощью составителя:

composer require monolog/monolog

Затем вы можете инициализировать журнал потоковой передачи файлов для приложения под названиемyour-app-name, в файл path/to/your.log, следующим образом:

<?php

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// create a log channel
$log = new Logger('your-app-name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));

Monolog очень мощный, вы можете реализовать много типов обработчиков, форматеров и процессоров.Стоит взглянуть: https://github.com/Seldaek/monolog/blob/master/doc/02-handlers-formatters-processors.md

И, наконец, назвать его следующим образом:

// add records to the log
$log->warning('Foo');
$log->error('Bar');

Чтобы сделать его глобальным, я рекомендую добавить его в свой инжектор зависимостей, если выиметь один или использовать одиночный с статическими вызовами.

Дайте мне знать, если вы хотите узнать больше об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...