【SimpleSAMLphp】デバッグメッセージをファイルに出力する
2023-12-19 | SAML, SimpleSAMLphp
SimpleSAMLphpでデバッグメッセージをファイルに出力したい!
概要
今回の記事では、SimpleSAMLphpでデバッグメッセージをファイルに出力する手順を掲載する。
仕様書
環境
- Ubuntu 20.04.4 LTS
- Apache 2.4.41
- PHP 8.0.30
- SimpleSAMLphp 2.1.1
手順書
Apacheのエラーログでもある程度分かるんだけども、もっと詳しくSimpleSAMLphpの状況を知りたい時に。
/var/www/simplesamlphp/config.php
の69行目付近にあるloggingdir
の値にログのファイルを保存するパスを入力する。下記は/var/log/saml/
にログを保存する例。
'loggingdir' => '/var/log/saml/',
321~325行目付近にあるdebug
の中の項目を全てtrue
にする。(全てのカテゴリーのログを見たいので)
'debug' => [
'saml' => true,
'backtraces' => true,
'validatexml' => true,
],
368~369行目付近にあるlogging.level
の値をSimpleSAML\Logger::DEBUG
、logging.handler
の値をfile
と入力する。
'logging.level' => SimpleSAML\Logger::DEBUG,
'logging.handler' => 'file',
421行目付近にあるlogging.logfile
の値にログファイルのファイル名を入力する。
'logging.logfile' => 'simplesamlphp.log',
/var/www/simplesamlphp/config.php
の設定は以上。
loggingdir
で設定したパスにApache等がアクセスできるようにする。
chown -R www-data:www-data /var/log/saml/
これでloggingdir
とlogging.logfile
で設定した場所にログファイルが出力されるようになる。この記事の通りの設定にしてると/var/log/saml/simplesamlphp.log
に出力される。
下記はログの例。
MMM dd HH:mm:ss simplesamlphp DEBUG [XXXXXXXXXX] Localization: load domain 'admin' at '/var/www/example/simplesamlphp/modules/admin/locales'
MMM dd HH:mm:ss simplesamlphp DEBUG [XXXXXXXXXX] Trying langpath for 'ja' as '/var/www/example/simplesamlphp/modules/admin/locales/ja/LC_MESSAGES/'
まとめ(感想文)
SAML認証に失敗する場合に原因を特定するのに使えるかもね!これとブラウザのDevToolsも確認した方が良いです。