FMTMSG(1) User Commands FMTMSG(1)


NAME


fmtmsg - display a message on stderr or system console

SYNOPSIS


fmtmsg [-c class] [-u subclass] [-l label] [-s severity]
[-t tag] [-a action] text


DESCRIPTION


Based on a message's classification component, the fmtmsg utility either
writes a formatted message to stderr or writes a formatted message to the
console.


A formatted message consists of up to five standard components (see
environment variable MSGVERB in the ENVIRONMENT VARIABLES section of this
page). The classification and subclass components are not displayed as
part of the standard message, but rather define the source of the message
and direct the display of the formatted message.

OPTIONS


The following options are supported:

-c class
Describes the source of the message. Valid keywords are:

hard
The source of the condition is hardware.


soft
The source of the condition is software.


firm
The source of the condition is firmware.


-u subclass
A list of keywords (separated by commas) that further
defines the message and directs the display of the
message. Valid keywords are:

appl
The condition originated in an application.
This keyword should not be used in
combination with either util or opsys.


util
The condition originated in a utility. This
keyword should not be used in combination
with either appl or opsys.


opsys
The message originated in the kernel. This
keyword should not be used in combination
with either appl or util.


recov
The application will recover from the
condition. This keyword should not be used in
combination with nrecov.


nrecov
The application will not recover from the
condition. This keyword should not be used in
combination with recov.


print
Print the message to the standard error
stream stderr.


console
Write the message to the system console.
print, console, or both may be used.


-l label
Identifies the source of the message.


-s severity
Indicates the seriousness of the error. The keywords and
definitions of the standard levels of severity are:

halt
The application has encountered a severe fault
and is halting.


error
The application has detected a fault.


warn
The application has detected a condition that is
out of the ordinary and might be a problem.


info
The application is providing information about a
condition that is not in error.


-t tag
The string containing an identifier for the message.


-a action
A text string describing the first step in the error
recovery process. This string must be written so that the
entire action argument is interpreted as a single
argument. fmtmsg precedes each action string with the TO
FIX: prefix.


text
A text string describing the condition. Must be written
so that the entire text argument is interpreted as a
single argument.


EXAMPLES


Example 1: Standard message format




The following example of fmtmsg produces a complete message in the
standard message format and displays it to the standard error stream.


example% fmtmsg -c soft -u recov,print,appl -l UX:cat \
-s error -t UX:cat:001 -a "refer to manual" "invalid syntax"


produces:


UX:cat: ERROR: invalid syntax
TO FIX: refer to manual UX:cat:138


Example 2: Using MSGVERB




When the environment variable MSGVERB is set as follows:


MSGVERB=severity:text:action


and Example 1 is used, fmtmsg produces:


ERROR: invalid syntax
TO FIX: refer to manual


Example 3: Using SEV_LEVEL




When the environment variable SEV_LEVEL is set as follows:


SEV_LEVEL=note,5,NOTE


the following fmtmsg command:


example% fmtmsg -c soft -u print -l UX:cat -s note \
-a "refer to manual" "invalid syntax"


produces:


NOTE: invalid syntax
TO FIX: refer to manual


and displays the message on stderr.


ENVIRONMENT VARIABLES


The environment variables MSGVERB and SEV_LEVEL control the behavior of
fmtmsg. MSGVERB is set by the administrator in the /etc/profile for the
system. Users can override the value of MSGVERB set by the system by
resetting MSGVERB in their own .profile files or by changing the value in
their current shell session. SEV_LEVEL can be used in shell scripts.


MSGVERB tells fmtmsg which message components to select when writing
messages to stderr. The value of MSGVERB is a colon-separated list of
optional keywords. MSGVERB can be set as follows:

MSGVERB=[keyword[:keyword[:...]]]
export MSGVERB


Valid keywords are: label, severity, text, action, and tag. If MSGVERB
contains a keyword for a component and the component's value is not the
component's null value, fmtmsg includes that component in the message
when writing the message to stderr. If MSGVERB does not include a keyword
for a message component, that component is not included in the display of
the message. The keywords may appear in any order. If MSGVERB is not
defined, if its value is the null string, if its value is not of the
correct format, or if it contains keywords other than the valid ones
listed above, fmtmsg selects all components.


MSGVERB affects only which message components are selected for display.
All message components are included in console messages.


SEV_LEVEL defines severity levels and associates print strings with them
for use by fmtmsg. The standard severity levels shown below cannot be
modified. Additional severity levels can be defined, redefined, and
removed.

0
(no severity is used)


1
HALT


2
ERROR


3
WARNING


4
INFO


SEV_LEVEL is set as follows:


description is a comma-separated list containing three fields:

SEV_LEVEL= [description[:description[:...]]]
export SEV_LEVEL


description=severity_keyword, level, printstring


severity_keyword is a character string used as the keyword with the -s
severity option to fmtmsg.


level is a character string that evaluates to a positive integer (other
than 0, 1, 2, 3, or 4, which are reserved for the standard severity
levels). If the keyword severity_keyword is used, level is the severity
value passed on to fmtmsg(3C).


printstring is the character string used by fmtmsg in the standard
message format whenever the severity value level is used.


If SEV_LEVEL is not defined, or if its value is null, no severity levels
other than the defaults are available. If a description in the colon
separated list is not a comma separated list containing three fields, or
if the second field of a comma separated list does not evaluate to a
positive integer, that description in the colon separated list is
ignored.

EXIT STATUS


The following exit values are returned:

0
All the requested functions were executed successfully.


1
The command contains a syntax error, an invalid option, or an
invalid argument to an option.


2
The function executed with partial success, however the message
was not displayed on stderr.


4
The function executed with partial success; however, the message
was not displayed on the system console.


32
No requested functions were executed successfully.


SEE ALSO


addseverity(3C), fmtmsg(3C), attributes(5)


July 20, 1994 FMTMSG(1)