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

class charcoal_ScreenLogger implements charcoal_ILogger
{
	/*
	 * コンストラクタ
	 */
	public function __construct()
	{
	}

	/*
	 * ロガー名
	 */
	public function getLoggerName(){
		return "Screen Logger";
	}

	/*
	 * ロガーを初期化
	 */
	public function init( charcoal_Config $config )
	{
		$this->_file_name = $config->getString( s('file_name') );
	}

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

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

		// 画面出力
		print "[$time] $message                                 @$file($line) <BR>"; 
	}

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