ロギング用関数

log4perlのインストールが許されない環境でロギングをしたかったので、参考ページをもとに、試しに作ってみたロギング用関数。
出力先に関してのエラー処理なども組み込んでいないですし、どこまで実用になるかはわかりませんが、とりあえず私の環境では充分な感じ。
もっといい方法があれば教えてもらえると助かります。

環境

ソース

#-----------------------------------------#
# ログ出力 関数                           #
#   第2引数に「1」を指定すると           #
#   標準出力にも出力(省略時は出力せず)  #
#-----------------------------------------#
sub logger
{
($msg, $STDOUT_FLG) = @_;
	$msg = "[" . getTime() . "] " . $msg . "\r\n";
	
	open(LOG, "+>>/tmp/log.log");
	flock(LOG, 2);
	@log = <LOG>;
	seek(LOG, 0, 0);
	print LOG $msg;
	truncate(LOG, tell());
	flock(LOG, 8);
	close(LOG);

	if( $STDOUT_FLG == 1 )
	{
		print $msg;
	}
}

使用例

	logger("ファイル出力のみ");
	logger("標準出力・ファイル出力の両方" ,1);