wordpressの出力ログファイルの切り替え(またはローテーション)
wordpressのデバッグログ(wp-content/debug.log)は単一のログファイルへの出力となっていて、
どんどん肥大化して困ります。
今回、wordpressのログファイルを日付で切り替えました。
まずは\wp-config.phpをデバッグモードに設定いたします。
define('WP_DEBUG', true); //デバッグモードを有効にする if (WP_DEBUG) { //デバッグモードの場合 define('WP_DEBUG_LOG', true); //エラーをdebug.logファイルに書き出す define('WP_DEBUG_DISPLAY', false); //エラーをブラウザに表示しない @ini_set('display_errors', 0); //エラーをブラウザに表示しない }
続いて\wp-includes\load.phpのdebug.log出力指定を日付で切り替えます。
出力指定は\wp-content\log\debug-YYMMDD.logに指定しています。
function wp_debug_mode() { if ( WP_DEBUG ) { error_reporting( E_ALL ); if ( WP_DEBUG_DISPLAY ) ini_set( 'display_errors', 1 ); elseif ( null !== WP_DEBUG_DISPLAY ) ini_set( 'display_errors', 0 ); if ( WP_DEBUG_LOG ) { ini_set( 'log_errors', 1 ); ini_set( 'error_log', WP_CONTENT_DIR . '/log/debug-' .date('Ymd') . '.log' ); } } else { error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR ); }
これで、出力ログファイルに日付がつきました。
ログは適切にローテーションするか、一定単位で分割して管理したいですね。