<?php
/**
* ブラウザに出力するロガークラス（主にデバッグ用）
*
* PHP version 5
*
* @package    loggers
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class ScreenLogger extends CharcoalComponent implements ILogger
{
	/*
	 * コンストラクタ
	 */
	public function __construct()
	{
		parent::__construct();
	}

	/*
	 * ロガーを初期化
	 */
	public function init( Config $config )
	{
	}

	/*
	 * ロガーをシャットダウン
	 */
	public function terminate()
	{
	}

	/*
	 * 一行出力
	 */
	public function writeln( $key, $level, $message, $file, $line )
	{
		$time = date("y/m/d H:i:s");
		$file = basename($file);

		// エンコーディング変換
		$conv = EncodingConverter::fromString( 'PHP_TO_LOG' );
		$message = $conv->convertEncoding( $message );

		// 画面出力
		$msg = "$time [$level] ($key) $message                                 @$file($line)"; 
		$msg = h($msg) . '<br />';
		echo $msg;
	}

	/**
	 * 文字列化
	 */
	public function __toString()
	{
		return $this->getLoggerName();
	}
}

return __FILE__;