← Back to team overview

ffc team mailing list archive

Re: Add output method to ufl.log.begin?

 

On Monday 17 August 2009 13:23:16 Anders Logg wrote:
> Fixed. I've set the log level to INFO in the JIT compiler, and then do
> push_level(WARNING) before calling the code generation, then
> pop_level.

Nice, but I wonder if this is a hack more than a fix ;) 

It circumvent the whole log system, by forcing the log level to be at a 
certain level, without possibility for the user to control it. Now I cannot 
get rid of the message by altering the log level. We should at least use  
option["log_level"] when the setting the log level for jit_form.

My fix lets the begin message be level conscious, and then we have to change 
all info("") call in the sub routines of analyze_form to debug("").

I have done some work in this direction already. I can hand a patch if this is 
what we want.

Johan



> --
> Anders
>
> On Mon, Aug 17, 2009 at 12:57:47PM +0200, Johan Hake wrote:
> > Hello!
> >
> > I want to get back the nice
> >
> >   "Calling FFC just-in-time (JIT) compiler, this may take some time..."
> >
> > message when jit compiling a form. I see that when I add a
> >
> >   set_log_level(INFO)
> >
> > in jit_form I get a bunch of uninteresting information:
> >
> > Compiler stage 1: Analyzing form
> > --------------------------------
> >
> > Compiler stage 2: Computing form representation(s)
> > --------------------------------------------------
> >   Computing quadrature representation.
> >
> > ...
> >
> > After some research I found out that this comes from the begin(), end()
> > statements in ffc.analyze_form. As it is now begin just uses info when it
> > present the information.
> >
> > Could we let begin take a level, like:
> >
> >   begin(DEBUG,"Compiler stage 1: Analyzing form")
> >
> > or if this is too verbose, provide a set_begin_level, which the begin
> > function could use. With alternative 1 we have:
> >
> >   begin(DEBUG,"Compiler stage 1: Analyzing form")
> >   debug("Jada")
> >   debug("Bada")
> >   end()
> >
> >   begin(DEBUG,"Compiler stage 2: Computing form representation(s)")
> >   debug("Jada")
> >   debug("Bada")
> >   end()
> >
> >   ...
> >
> > and with alternative 2 we have:
> >
> >   set_begin_level(DEBUG)
> >   begin("Compiler stage 1: Analyzing form")
> >   debug("Jada")
> >   debug("Bada")
> >   end()
> >
> >   begin("Compiler stage 2: Computing form representation(s)")
> >   debug("Jada")
> >   debug("Bada")
> >   end()
> >
> >
> > I go for alternative 1.
> >
> > Johan
> > _______________________________________________
> > FFC-dev mailing list
> > FFC-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/ffc-dev


Follow ups

References