Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

The Retrieved Messages filter dialog is in the top left hand corner of a message window. This dialog normally set to "No Filter," meaning that all messages are retrieved and displayed by the viewer. However, you can specify that only those messages conforming to some filter pattern are retrieved. See the example in the screenshot below (which was to retrieve all messages except those whose text contains SIPMAIN).

Retrieved Message Filter Pattern Examples

Searching for Messages

There are two modes of searching (aka filtering). First is the simple search. In this case, just type the text you're interested in into the Filter dialog box. Second allows more complex searches, which use search expressions (see below).

Note that both kinds are CASE SENSITIVE

Simple SearchThese are some examples of the use of the message Filter:

If you simply want to retrieve only those messages containing some text, then just put the text in the dialog box and hit return. For instance, if you want to retrieve only messages with QUAD in the them.

...

Retrieve only severity EROR messages (note that you have not had to specify the Severity field, since these simple searches are on all fields).

Code Block
EROR

Expression Search

More complicated searches, such as those on specific fields other than the Text field, or those involving negation , must be preceded by ":". These are CASE SENSITIVE

Note - there is a bug here: in the expression search, the column names must be given all Lower Case (eg text), even though the actual column heading as printed in the GUI, is Capitalized First Letter (Text).

Retrieve only messages from the LCLS EPICS system:where the message Text includes 'failed'.

Code Block
:(facilitytext like 'LCLSfailed')

Retrieve all the messages except those where the text contained some string - this uses the '!' (not) operator. Eg NOT containing DpSlc or physicssMatlab:

...

Code Block
:!(facility like 'DpSlcKlys' || facility like 'Alarm' || facility like 'physics') || facility like 'ChannelWatcher')

It's also useful to cut out messages whose text itself contains some pattern. Here's an example having cut out messages whose text contain "SIPMAIN".

Writing Messages from Matlab to cmlogviewer

You can use the Err package to write from Matlab to cmlog.

Initialize Err with aidainit. Then just once, you must get an Err object using its getInstance method. Give the name of your program to getInstance, like getInstance('Myprogram') then all of your subsequent messages will be labeled in cmlog as coming from the facility 'Myprogram'. After that, you can issue messages to cmlog using the 'log' method Err, or issue messages to cmlog and print them to the local screen using the 'logl'.

Examlple:

Code Block

>> aidainit;
Aida client initialization completed
>> e = Err.getInstance(Myprogram');
>> e.log('Logs this message in cmlog only'); 
>> e.logl('Logs this message in cmlog and to the screen');
Thu May 20 16:37:48 PDT 2010: Logs this message in cmlog and to the screen

Programmers' Notes

To build on production

...