- 1. タイムスタンプ
- 2. 書式は変えられないのか?
- 3. アプリケーションログを変更
1. タイムスタンプ
ログの書式ですが、わたしが一番気になるのが、タイムスタンプなのです。
[10-Jul-2018 17:20:34 Asia/Tokyo] PHP Deprecated: ...
てな感じで出力されます・・・。
いわゆる欧米式ですな。
何が嫌いって、ばらした後、ソートできないじゃん。
「Asia/Tokyo」ってのも気になります。「JST」でいいじゃんって思うんですけどね。
2. 書式は変えられないのか?
「php.ini」をいじって書式が変えられないかと調べてみましたが、方法はなさそうです。
ソースをハックして、書き換えるって手もあるのでしょうが。
さすがにその時間と元気はありません。
3. アプリケーションログを変更
仕方ないので、アプリケーションログを変更することにしました。
もとはこういう風に書いていたのですが。
<?php
/**
* エラーログ
* @param string $message
*/
function errorlog($file, $function, $line, $message)
{
$messageEx = sprintf("%s ", date("Y-m-d H:i:s"));
$messageEx .= sprintf("%-24s ", $file);
$messageEx .= sprintf("%-8s ", $function);
$messageEx .= sprintf("%5d ", $line);
$messageEx .= $message;
$messageEx .= "\n";
error_log($messageEx, 3, '/パス/ファイル名.log');
}
?>
このままだとタイムスタンプが。
2018-07-10 17:31:02
てな感じで出力されるので、php のログに合わせて。
<?php
/**
* エラーログ
* @param string $message
*/
function errorlog($file, $function, $line, $message)
{
$messageEx = sprintf("%s ", '['.date("d-M-Y H:i:s").' '.date_default_timezone_get().'] ');
$messageEx .= sprintf("%-24s ", $file);
$messageEx .= sprintf("%-8s ", $function);
$messageEx .= sprintf("%5d ", $line);
$messageEx .= $message;
$messageEx .= "\n";
error_log($messageEx, 3, '/パス/ファイル名.log');
}
?>
という書き方にしました。
|