【SimpleSAMLphp】デバッグメッセージをファイルに出力する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【SimpleSAMLphp】デバッグメッセージをファイルに出力する

2023-12-19 | ,

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::DEBUGlogging.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/

これでloggingdirlogging.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も確認した方が良いです。