php ライブラリ「Monolog」を使ってログを出力する

phpでライブラリ「Monolog」を使ってログを出力するまでのサンプルコードを記述してます。composerを使用して「Monolog」はインストールしてます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- PHP 7.4.5
- Composer 1.10.5
※windows10にApacheのインストールはこちら
※windows10にphpのインストールはこちら
※Windows10にComposerのインストールはこちら
monolog/monologインストール
phpが動作しているフォルダで、composerを使用してインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
composer require monolog/monolog <出力結果> Using version ^2.1 for monolog/monolog ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing monolog/monolog (2.1.0): Downloading (100%) monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server) monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server) monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server) monolog/monolog suggests installing elasticsearch/elasticsearch (Allow sending log messages to an Elasticsearch server via official client) monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib) monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required)) monolog/monolog suggests installing ext-mongodb (Allow sending log messages to a MongoDB server (via driver)) monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server (via library)) monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB) monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar) monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome) Package mschop/noteephp is abandoned, you should avoid using it. Use mschop/notee instead. Writing lock file Generating autoload files 19 packages you are using are looking for funding. Use the `composer fund` command to find out more! |
自分の場合は、下記にインストールしました。

monolog/monolog利用
「C:\Apache24\htdocs」に「test.php」を下記のコードで作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php ini_set('display_errors', "On"); require_once __DIR__ . '/vendor/autoload.php'; use Monolog\Logger; use Monolog\Handler\StreamHandler; // ログを作成(nameは識別用の名前) $log = new Logger('name'); //Logger::WARNINGは書き込むログのレベル $log->pushHandler(new StreamHandler('test.log', Logger::WARNING)); // ログを追加 $log->info('Hoge'); //warningよりレベルが低いので書き込まれません $log->warning('Foo'); // ERRORメッセージに情報を添付 $errmsg = [ "name" => "sebee", "company" => "sebee-company" ]; $log->error('Bar',$errmsg); |
実行結果を確認すると、test.logというファイルが生成されlogが記述されていることが確認できます。

-
前の記事
javascript 現在日付からX日後の日付を表示する 2020.08.11
-
次の記事
javascript 文字列の文字数をカウントする 2020.08.12
コメントを書く