OSDN Git Service

creating...
authoriga <tosiki.iga@nifty.ne.jp>
Thu, 30 Jan 2014 12:36:39 +0000 (21:36 +0900)
committeriga <tosiki.iga@nifty.ne.jp>
Thu, 30 Jan 2014 12:36:39 +0000 (21:36 +0900)
main/bumsg.fnc
test/test001.msg
test/test001.sh

index 7b4bd8d..1067255 100644 (file)
 # @version 1.0 2014-01-29 Created newly.
 #####################################################################
 
+LOGGER="/usr/bin/logger -t $0 -i"
+
 # write message to log
 # @param $1 message id
 # @param $2 argument 1
 # @param $3 argument 2
 logmsg() {
+  local msgid=$1
   local strmsg="`getmsg $1 $2 $3 $4 $5 $6 $7 $8 $9`"
-  echo ${strmsg}
+
+  ismsgEnvSysout "${msgid}"
+  local issysout=$?
+  ismsgEnvSyserr "${msgid}"
+  local issyserr=$?
+  ismsgEnvLogger "${msgid}"
+  local islogger=$?
+
+  if [ ${issysout} = 0 ]; then
+    echo "${strmsg}"
+  fi
+  if [ ${issyserr} = 0 ]; then
+    echo "${strmsg}" 1>&2
+  fi
+  if [ ${islogger} = 0 ]; then
+    ${LOGGER} "${strmsg}"
+  fi
 
   return 0
 }
@@ -33,11 +52,14 @@ getmsg() {
   local arg6=$7
   local arg7=$8
   local arg8=$9
-  local msgtextkey="`getmsgidenvkey ${msgid}`"
-  local msgtextkeyString="`getmsgenvvalue ${msgtextkey}`"
+  local msgtextkey="`getmsgIdEnvKey ${msgid}`"
+  local msgtextkeyString="`getmsgEnvValue ${msgtextkey}`"
   local printfString=""
-  local isembedid=`ismsgenvembedid "${msgid}"`
-  if [ ${isembedid} ]; then
+
+  ismsgEnvEmbedid "${msgid}"
+  local isembedid=$?
+
+  if [ ${isembedid} = 0 ]; then
     printfString="${printfString}[${msgid}]"
   fi
   printfString="${printfString}${msgtextkeyString}"
@@ -47,14 +69,14 @@ getmsg() {
   return 0
 }
 
-getmsgidenvkey() {
+getmsgIdEnvKey() {
   local msgid=$1
   local msgtextkey='${MSG_'${msgid}'}'
   echo ${msgtextkey}
   return 0
 }
 
-getmsgenvvalue() {
+getmsgEnvValue() {
   local envkey=$1
   local msgtextkeyString="`eval \"echo ${envkey}\"`"
   echo ${msgtextkeyString}
@@ -62,33 +84,35 @@ getmsgenvvalue() {
 }
 
 # @return 0:true 1:false 2:unknown
-getmsgenvbooleanvalue() {
+getmsgEnvBooleanValue() {
   local envkey="$1"
-  local envvalue="`getmsgenvvalue ${envkey}`"
-  if [ "${envvalue}" = "true" ]; then
+  local envvalue="`getmsgEnvValue ${envkey}`"
+  if [ "${envvalue}" = "true" ]; then
     return 0
   fi
-  if [ "${envvalue}" = "True" ]; then
+  if [ "${envvalue}" = "True" ]; then
     return 0
   fi
-  if [ "${envvalue}" = "TRUE" ]; then
+  if [ "${envvalue}" = "TRUE" ]; then
     return 0
   fi
-  if [ "${envvalue}" = "false" ]; then
+  if [ "${envvalue}" = "false" ]; then
     return 1
   fi
-  if [ "${envvalue}" = "False" ]; then
+  if [ "${envvalue}" = "False" ]; then
     return 1
   fi
-  if [ "${envvalue}" = "FALSE" ]; then
+  if [ "${envvalue}" = "FALSE" ]; then
     return 1
   fi
   return 2
 }
 
-ismsgenvembedid() {
-  local envkey="`getmsgidenvkey ${msgid}'_embedid'`"
-  local envvalue="`getmsgenvbooleanvalue ${envkey}`"
+ismsgEnvSysout() {
+  local msgid="$1"
+  local envkey="`getmsgIdEnvKey ${msgid}'_sysout'`"
+  getmsgEnvBooleanValue ${envkey}
+  local envvalue=$?
   case "${envvalue}" in
     "0" ) return 0 ;;
     "1" ) return 1 ;;
@@ -96,3 +120,42 @@ ismsgenvembedid() {
      *  ) return 1 ;;
   esac
 }
+
+ismsgEnvSyserr() {
+  local msgid="$1"
+  local envkey="`getmsgIdEnvKey ${msgid}'_syserr'`"
+  getmsgEnvBooleanValue ${envkey}
+  local envvalue=$?
+  case "${envvalue}" in
+    "0" ) return 0 ;;
+    "1" ) return 1 ;;
+    "2" ) return 0 ;;
+     *  ) return 0 ;;
+  esac
+}
+
+ismsgEnvLogger() {
+  local msgid="$1"
+  local envkey="`getmsgIdEnvKey ${msgid}'_logger'`"
+  getmsgEnvBooleanValue ${envkey}
+  local envvalue=$?
+  case "${envvalue}" in
+    "0" ) return 0 ;;
+    "1" ) return 1 ;;
+    "2" ) return 0 ;;
+     *  ) return 0 ;;
+  esac
+}
+
+ismsgEnvEmbedid() {
+  local msgid="$1"
+  local envkey="`getmsgIdEnvKey ${msgid}'_embedid'`"
+  getmsgEnvBooleanValue ${envkey}
+  local envvalue=$?
+  case "${envvalue}" in
+    "0" ) return 0 ;;
+    "1" ) return 1 ;;
+    "2" ) return 1 ;;
+     *  ) return 1 ;;
+  esac
+}
\ No newline at end of file
index cc5676e..99c8cc0 100644 (file)
@@ -1,5 +1,4 @@
 
-
 MSG_M001='Hello [%s] world!'
 MSG_M001_sysout=false
 MSG_M001_syserr=true
@@ -7,3 +6,4 @@ MSG_M001_logger=true
 MSG_M001_level=info
 MSG_M001_embedid=true
 
+MSG_M002='This is a %s'
\ No newline at end of file
index e1c246a..99108d7 100644 (file)
@@ -3,3 +3,5 @@
 . ./test001.msg
 
 logmsg 'M001' 'Bash'
+
+logmsg 'M002' 'pen'