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を使用してインストールします。
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」を下記のコードで作成します。
<?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
コメントを書く