EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: seqLog obsolete / errlog filtering based on source
From: Benjamin Franksen <[email protected]>
To: "[email protected]" <[email protected]>
Date: Wed, 19 Jun 2013 18:06:04 +0200
Hi

sorry for the long delay, I was extremely busy during the last 2 weeks.

On Wednesday, June 05, 2013 11:47:22 Emmanuel Mayssat wrote:
> [email protected]:
> > Admittedly, you cannot log
> > different program instances into different files, but if you incorporate a
> > suitably unique string into the messages then filtering them out of the
> > IOC- wide log file can be done easily with standard unix command line
> > tools such as grep.
>
> Are you talking about redirection likeRunIoc 2>my_log_file?

No. I was talking about iocLog. See Chapter 10 of the Developer's Guide.

> Then the
> 'logfile' parameter provided to the seq is obviously ignored.

To be pedantic, it is not ignored (you can use it like other runtime
parameters), but it won't result in redirecting messages to the file. The
pedanticism is not in vain as we would need this value for the solution
sketched below.

> The only issue
> I have with this is that it is all or nothing.1/Admittedly, with the SEQ I
> can use grep when errlogs are redirected to a file.BUT I am not so sure I
> can do this with other application (stream ,etc)2/But when there is no
> redirection, my IOC terminal is flooded with potentially irrelevant
> messages.

You can turn off logging to the console using the 'eltc' procedure. This is
also documented in Chapter 10 of the Guide. However, this will affect all
calls to errlogPrintf and friends on the IOC, so this might not be the best
solution.

On the other hand, nobody wants to re-implement errlog, just to add some
features. So maybe errlog in base can be adapted? Or maybe it already has all
the features we need: we /can/ add new listeners for errlog.

So you want to log everything from a certain SNL program instance to a certain
specific file. So we add an errlog listener that looks at the messages and
filters out the ones that belong to your program instance and then prints them
to the file you gave. This should run in its own task at a low priority in
order not to disturb the regular IOC processing and sequencer execution.

The way I imagine this to be done is as a separate support module that
(generically) implements this feature. You would create an instance of this
errlog-redirector for instance inside the global entry block of an SNL
program.

I would like to get some input from the EPICS base experts as well as users:
does this whole idea even make sense? Could it be done independently of the
sequencer itself, i.e. as a general purpose support module? How (in-)efficient
is the filtering-after-the-fact and would it make sense to expand the errlog
API to support some sort of unique identifier per message to avoid the parsing
of the message?

Cheers
--
Ben Franksen
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachm€nts

Attachment: signature.asc
Description: This is a digitally signed message part.


Replies:
New EPICS support module "feller", release 0.1 Benjamin Franksen
References:
seqLog obsolete / errlog filtering based on source Emmanuel Mayssat

Navigate by Date:
Prev: Re: CSS documentation problem James F Ross
Next: Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: seqLog obsolete / errlog filtering based on source Mark Rivers
Next: New EPICS support module "feller", release 0.1 Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·