なんか毎回作ってる気がしたので、ぺた。
<?php function jlog() { static $fp; $logfile = sprintf('%s/j_debug_%s.log', dirname(__FILE__), date('Ymd')); if (is_null($fp)){ $fp = fopen($logfile, 'a+'); chmod($logfile, 0666); } $args = func_get_args(); $msgs = array(); foreach ($args as $a){ $msgs[] = is_array($a) || is_object($a) ? var_export($a, true) : $a ; } $msg = implode(", ", $msgs); $log = "[".date("Y/m/d H:i:s")."]\t"; $bt = debug_backtrace(); $bt = array_reverse($bt); foreach ($bt as $k=>$v){ if ($k == count($bt) -1) break; $log .= sprintf("[File:%s] %s%s (%d)\n", $bt[$k+1]['file'], $bt[$k]['class'] ? $bt[$k]['class'] . $bt[$k]['type'] : '', $bt[$k]['function'], $bt[$k+1]['line'] ); } $log .= $msg."\n"; fputs($fp, $log); }