I have a schell script that runs continously on an AIX system. It is
actually started from another shell script with the "ksh -x" command
and then I just write the output to a log file. This causes the log
files to be filled with mostly useless information. I would like to
modify this script to create its own log file internally and then be
able to just have it log select acitivity. The script looks like:

Code:
#!/bin/ksh
PATH=/gers/nurev/menu/pub/sbin:/gers/nurev/menu/pub/bin:/gers/nurev/menu/pub/mac
:/gers/nurev/menu/adm/sbin:/gers/nurev/menu/adm/bin:/gers/nurev/menu/adm/mac:/ge
rs/nurev/custom:/gers/nurev/fix:/gers/nurev/src_rev/fix:/gers/nurev/opt/path:/ge
rs/nurev/bin:/g/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/sbin:.
ORACLE_HOME=/gers/nurev
ORACLE_SID=nurev
export PATH
export ORACLE_HOME
export ORACLE_SID

#
# Function : is_file_arrived file
# Arg(s)   : file = file to verify
# Output   : None
# Status   : 0 = yes file arrived, 1 = no
# Env.     : IFA_WAIT : interval (secs) for file size check (def=5)
#

is_file_arrived() {
[ -z "$1" ] && return 1
local file=$1
local arrived=1
local size1 size2
if [ -f "$file" -a -z "$(fuser $file 2> /dev/null)" ] ; then
size1=$(ls -l $file 2>/dev/null | awk '{print $5}')
sleep ${IFA_WAIT:-15}
size2=$(ls -l $file 2>/dev/null | awk '{print $5}')
[ ${size1:-1} -eq ${size2:-2} ] && arrived=0
fi
return $arrived
}


processFile ()
{
local fileName=$1
local fileExtension=$2
local fileNewName="/gers/nurev/datafiles/str${fileExtension}.asc"
local filePrintPath="/gers/nurev/print"
local fileTmpPath="/gers/nurev/tmp"
local fileODIName="str${fileExtension}.pos"
mv -Eignore $fileName $fileNewName
prepup $fileNewName $fileExtension
mv -Eignore  $filePrintPath/$fileODIName $fileTmpPath/$fileODIName
save2tmp $fileExtension
call_siu $fileExtension   ###I'd like to add when this command is
run and the $fileExtension given date/time
}

# Main Processing

nsec=1
while [[ "$(date +%H%M)" -lt 2329 ]]
do
for fileName in
/gers/nurev/datafiles/[Uu][Pp][Ll][Oo][Aa][Dd].[0-9][0-9][0-9
][0-9]     ###I'd like to log when a file is found with date/time
do
fileExtension=${fileName#*.}
is_file_arrived "$fileName" && nsec=1 && processFile $fileName
$fileExtens
ion
done
sleep $nsec
case $nsec in
1)   nsec=15;;
15)  nsec=45;;
45)  nsec=90;;
90)  nsec=300;;
300) nsec=600;;
600) nsec=900;;
*)   nsec=1800;;
esac
done
....the log file should just have a variable declared about the logfile
name and path. Is there a way to create a function to write the log
entry and then I could just call the function and hand it a parameter
that would be the log entry? Say something like "LOG(0002 processed at
11-11-06/12:00)"?