#!/sbin/sh

#pragma ident "@(#)log_warning	1.6 94/10/25 SMI"

#
# 	Copyright (C) 1994 Sun Microsystems, Inc.
#

PATH=/usr/sbin:/usr/bin
export PATH

prog=`basename $0`
messageID=$1

#
# Error/warning/info logging routines
#

# usage:
# Debug|Begin|End|Log|Error routine_name messsage to be printed

# for debugging just set DEBUG_PDB in your environment to non-null

Debug() {
	if [ -n "${DEBUG_PDB}" ] ; then
		_log "debug" $*
	fi
}

# for tracing just set DEBUG_PDB in your environment to "2"

Begin() {
	if [ -n "${DEBUG_PDB}" -a \
		"${DEBUG_PDB}" = 2 ] ; then
		_log "debug" $* 
	fi
}

End() {
	if [ -n "${DEBUG_PDB}" -a \
		"${DEBUG_PDB}" = 2 ] ; then
		:
		_log "debug": $*
	fi
}

#
# FPM-complient error logging
#

# usage:
# _log msgtype routine_name message to be printed

_log() {
	# try to get "atomic" output so lines don't mix when
	# async callbacks print out messages

	_level=$1
	_messageID=$2
	shift; shift

	if [ "Turned" = "Off" ]; then
		_line=""
		_line="$_line`/bin/date '+%b %d %H:%M:%S'`"
		_line="$_line `/bin/uname -n`"
		_line="$_line ID[$_messageID]:"
		_line="$_line ($_level)"
		_line="$_line $*"
		echo $_line
	fi

	/usr/ucb/logger -p local0.$_level -t ID[$_messageID] $*
}

_usage() {
	echo "Usage: log_error    messageID message [message...]"
	echo " or    log_warning"
	echo " or    log_info"
	echo " or    log_trace_end"
	echo " or    log_trace"
	echo " or    log_debug"
	exit 2
}


#
# Dispatch the call.
#

mid=$1
shift

case ${prog} in
	log_debug)	Debug          $mid "$*"	;;
	log_trace_end)	End            $mid "$*"	;;
	log_trace)	Begin          $mid "$*"	;;
	log_info)	_log "error"   $mid "$*"	;;
	log_error)	_log "error"   $mid "$*"	;;
	log_warning)	_log "warning" $mid "$*"	;;
	*)		_usage		;;
esac
exit 0

