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
<2013>
2014
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
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|