GNU socialのデバッグログの設定

GNU social v2.0.0beta0には、バグ調査などで重要なデバッグログの設定がいくつか存在するので整理する。

以下の情報源から項目を整理した。

デバッグログの設定
デバッグログの設定
項目 初期値 説明
site.logfile null ログファイルの出力先パス。publicディレクトリーからの相対パスになる。CONFIGURE.mdでは初期値が./となっているがnullが正しい。通常はsyslogに出力される。レンタルサーバー向けの設定。
site.logdebug false ログ出力の可否。
site.logperf false パフォーマンスカウンターをsyslogに出力する。
site.logperf_detail false カウンターヒットごとに出力する。
db.debug 数字を指定する。3が最大の模様?extlib/DB/DataObject/Generator.phpの$_DB_DATAOBJECT[‘CONFIG’][‘debug’]で参照されている模様。
db.log_queries false 全DBクエリーをログ出力する。
db.log_slow_queries 0 この秒数以上かかったクエリーだけログ出力する。
log.debugtrace false 例外のバックトレースログを出力する。
syslog.appname statusnet syslogの名前。
syslog.priority debug 未使用。
syslog.facility LOG_USER
sessions.debug false セッションのデバッグ出力。

db.debugだけ説明がなく、default.phpにも記載がなかった。「Debian 11 with mariadb-server-10.0 seems to point to an error in Memcached_DataObject.ph (error in your SQL syntax) – NotABug.org: Free code hosting」で言及されていて存在を知った。

DB関係のデバッグログの設定はパフォーマンスに大きな影響があるので、ピンポイントで必要な時だけ有効にするのがよいだろう。

それ以外は例えば以下のようにまとめてconfig.phpに設定して問題調査に役立てればよいだろうと思った。

//// Debug
// $config['db']['debug'] = 3;
// $config['db']['log_queries'] = true;
$config['site']['logfile'] = 'gnusocial.log';
$config['site']['logdebug'] = true;
$config['log']['debugtrace'] = true;
$config['sessions']['debug'] = true;

今後トラブルに遭遇した時はこちらのログ設定をまずは行って調査していきたい。

コメントを残す

メールアドレスが公開されることはありません。