[Catalyst] C::C::FormBuilder debug noise...

Marcello Romani mromani at ottotecnica.com
Fri May 4 07:26:28 GMT 2007


RA Jones ha scritto:
> Marcello Romani wrote:
>> Hi all,
>>    I have a problem with Catalyst::Controller::FormBuilder.
>> It prints way too much debug information, filling up my consolle's 
>> screen buffer :-)
>>
>> If I turn off Catalyst debgging by omitting the -Debug option the 
>> debug messages disappear, but so do the Catalyst ones, which I instead 
>> want to keep.
>>
>> CGI::FormBuilder docs say it has four debug levels (0,1,2,3), C::P::FB 
>> says it sets the debug parameter to match Catalyst's debug setting.
>>
>> I have tried various methods to set debug=0 in FB, but to no avail:
>>
>> MyApp->config->{'Controller::FormBuilder'}->{debug}=0;
>>
>> but then looking at the C::C::FormBuilder code I didn't see any 
>> reference to the debug flag.
>> I also tried to modify the code, adding a debug => 0 line in 
>> $self->_fb_setup, but it didn't nothing. I'm not sure I fully 
>> understand how that code works anyway :-)
>>
>> I even tried to call ->debug as a class method on CGI::FB.
>>
>> It would be nice to set CGI::FB debug level independently of the Cat one.
>>
>> Anyone has ideas ?
> 
> Set debug level in your CCF config settings:
> 
> __PACKAGE__->config(
>   'Controller::FormBuilder' => {
>     new => {
>       debug => 0, # or 1, 2, etc
>       # other settings eg stash_name
>     }
> );
> 
> Setting debug to zero still generates some useful error messages. Works 
> for me!

In the hope it will be useful to someone more knowledgeable than me, 
here's the output of myapp_server.pl when calling /create (a simple form 
with 3 fields):

[CGI::FormBuilder::Messages::new] (debug1) creating Messages object from 
(default)
[CGI::FormBuilder::new] (debug1) creating fields list
[CGI::FormBuilder::new] (debug2) assuming fields list from ARRAY
[CGI::FormBuilder::new_field] (debug1) called $form->new_field(id)
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{cleanopts} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{sticky} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectname} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectnum} = 5;
[CGI::FormBuilder::new_field] (debug1) created field id
[CGI::FormBuilder::new] (debug2) push @(), id
[CGI::FormBuilder::new_field] (debug1) called $form->new_field(id_impianto)
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{cleanopts} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{sticky} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectname} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectnum} = 5;
[CGI::FormBuilder::new_field] (debug1) created field id_impianto
[CGI::FormBuilder::new] (debug2) push @(id), id_impianto
[CGI::FormBuilder::new_field] (debug1) called $form->new_field(nome)
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{cleanopts} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{sticky} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectname} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectnum} = 5;
[CGI::FormBuilder::new_field] (debug1) created field nome
[CGI::FormBuilder::new] (debug2) push @(id id_impianto), nome
[CGI::FormBuilder::new_field] (debug1) called $form->new_field(descrizione)
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{cleanopts} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{sticky} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectname} = 1;
[CGI::FormBuilder::new_field] (debug2) rearrange: $args->{selectnum} = 5;
[CGI::FormBuilder::new_field] (debug1) created field descrizione
[CGI::FormBuilder::new] (debug2) push @(id id_impianto nome), descrizione
[CGI::FormBuilder::new] (debug1) field creation done, list = (id 
id_impianto nome descrizione)
[CGI::FormBuilder::field] (debug2) called $form->field(name id label Id)
[CGI::FormBuilder::field] (debug2) searching fields for 'id'
[CGI::FormBuilder::Field::value] (debug2) id: called $field->value()
[CGI::FormBuilder::Field::value] (debug2) id: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id: called $field->cgi_value
[CGI::FormBuilder::Field::value] (debug2) no cgi found, returning def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id: called 
$field->inflate_value
[CGI::FormBuilder::field] (debug2) called $form->field(name id_impianto 
label Id impianto)
[CGI::FormBuilder::field] (debug2) searching fields for 'id_impianto'
[CGI::FormBuilder::Field::value] (debug2) id_impianto: called 
$field->value()
[CGI::FormBuilder::Field::value] (debug2) id_impianto: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id_impianto: called 
$field->cgi_value
[CGI::FormBuilder::Field::value] (debug2) no cgi found, returning def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id_impianto: called 
$field->inflate_value
[CGI::FormBuilder::field] (debug2) called $form->field(name nome label Nome)
[CGI::FormBuilder::field] (debug2) searching fields for 'nome'
[CGI::FormBuilder::Field::value] (debug2) nome: called $field->value()
[CGI::FormBuilder::Field::value] (debug2) nome: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) nome: called $field->cgi_value
[CGI::FormBuilder::Field::value] (debug2) no cgi found, returning def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) nome: called 
$field->inflate_value
[CGI::FormBuilder::field] (debug2) called $form->field(name descrizione 
label Descrizione)
[CGI::FormBuilder::field] (debug2) searching fields for 'descrizione'
[CGI::FormBuilder::Field::value] (debug2) descrizione: called 
$field->value()
[CGI::FormBuilder::Field::value] (debug2) descrizione: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) descrizione: called 
$field->cgi_value
[CGI::FormBuilder::Field::value] (debug2) no cgi found, returning def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) descrizione: called 
$field->inflate_value
[CGI::FormBuilder::prepare] (debug1) Calling $form->prepare()
[CGI::FormBuilder::field] (debug2) called $form->field()
[CGI::FormBuilder::field] (debug2) return (id id_impianto nome descrizione)
[CGI::FormBuilder::Field::tag_value] (debug2) id: called $field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) id: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id: called $field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id: called 
$field->inflate_value
[CGI::FormBuilder::Field::type] (debug2) id: called $field->type (manual 
= 'hidden')
[CGI::FormBuilder::Field::type] (debug1) id: field set to type 'hidden' 
(reblessing)
[CGI::FormBuilder::Field::tag_value] (debug2) id: called $field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) id: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id: called $field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id: called 
$field->inflate_value
[CGI::FormBuilder::Field::type] (debug2) id: called $field->type (manual 
= 'hidden')
[CGI::FormBuilder::Field::tag_value] (debug2) id: called $field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) id: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id: called $field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id: called 
$field->inflate_value
[CGI::FormBuilder::Field::text::tag] (debug2) my() = $field->options
[CGI::FormBuilder::Field::text::tag] (debug2) id: generating hidden 
input type
[CGI::FormBuilder::Field::text::tag] (debug2) id: generated tag = <input 
id="id" name="id" type="hidden" />
[CGI::FormBuilder::Field::type] (debug2) id: called $field->type (manual 
= 'hidden')
[CGI::FormBuilder::Field::tag_value] (debug2) id_impianto: called 
$field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) id_impianto: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id_impianto: called 
$field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id_impianto: called 
$field->inflate_value
[CGI::FormBuilder::Field::type] (debug2) id_impianto: called 
$field->type (manual = 'text')
[CGI::FormBuilder::Field::type] (debug1) id_impianto: field set to type 
'text' (reblessing)
[CGI::FormBuilder::Field::tag_value] (debug2) id_impianto: called 
$field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) id_impianto: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id_impianto: called 
$field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id_impianto: called 
$field->inflate_value
[CGI::FormBuilder::Field::tag_value] (debug2) id_impianto: called 
$field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) id_impianto: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) id_impianto: called 
$field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) id_impianto: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) id_impianto: called 
$field->inflate_value
[CGI::FormBuilder::Field::text::tag] (debug2) my() = $field->options
[CGI::FormBuilder::Field::text::tag] (debug2) id_impianto: generating 
text input type
[CGI::FormBuilder::Field::text::tag] (debug2) id_impianto: generated tag 
= <input id="id_impianto" name="id_impianto" size="4" type="text" />
[CGI::FormBuilder::Field::type] (debug2) id_impianto: called 
$field->type (manual = 'text')
[CGI::FormBuilder::Field::tag_value] (debug2) nome: called $field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) nome: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) nome: called $field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) nome: called 
$field->inflate_value
[CGI::FormBuilder::Field::type] (debug2) nome: called $field->type 
(manual = 'text')
[CGI::FormBuilder::Field::type] (debug1) nome: field set to type 'text' 
(reblessing)
[CGI::FormBuilder::Field::tag_value] (debug2) nome: called $field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) nome: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) nome: called $field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) nome: called 
$field->inflate_value
[CGI::FormBuilder::Field::tag_value] (debug2) nome: called $field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) nome: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) nome: called $field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: called $field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) nome: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) nome: called 
$field->inflate_value
[CGI::FormBuilder::Field::text::tag] (debug2) my() = $field->options
[CGI::FormBuilder::Field::text::tag] (debug2) nome: generating text 
input type
[CGI::FormBuilder::Field::text::tag] (debug2) nome: generated tag = 
<input id="nome" name="nome" size="50" type="text" />
[CGI::FormBuilder::Field::type] (debug2) nome: called $field->type 
(manual = 'text')
[CGI::FormBuilder::Field::tag_value] (debug2) descrizione: called 
$field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) descrizione: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) descrizione: called 
$field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) descrizione: called 
$field->inflate_value
[CGI::FormBuilder::Field::type] (debug2) descrizione: called 
$field->type (manual = 'textarea')
[CGI::FormBuilder::Field::type] (debug1) descrizione: field set to type 
'textarea' (reblessing)
[CGI::FormBuilder::Field::tag_value] (debug2) descrizione: called 
$field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) descrizione: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) descrizione: called 
$field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) descrizione: called 
$field->inflate_value
[CGI::FormBuilder::Field::tag_value] (debug2) descrizione: called 
$field->tag_value
[CGI::FormBuilder::Field::tag_value] (debug2) descrizione: sticky && ! force
[CGI::FormBuilder::Field::cgi_value] (debug2) descrizione: called 
$field->cgi_value
[CGI::FormBuilder::Field::tag_value] (debug2) no cgi found, returning 
def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: called 
$field->def_value
[CGI::FormBuilder::Field::def_value] (debug2) descrizione: def value = ()
[CGI::FormBuilder::Field::inflate_value] (debug2) descrizione: called 
$field->inflate_value
[CGI::FormBuilder::Field::textarea::tag] (debug2) descrizione: generated 
tag = <textarea cols="80" id="descrizione" name="descrizione" 
rows="5"></textarea>
[CGI::FormBuilder::Field::type] (debug2) descrizione: called 
$field->type (manual = 'textarea')
[CGI::FormBuilder::prepare] (debug2) $tmplvar{jshead} = $self->script
[CGI::FormBuilder::field] (debug2) called $form->field()
[CGI::FormBuilder::field] (debug2) return (id id_impianto nome descrizione)
[CGI::FormBuilder::field] (debug2) called $form->field()
[CGI::FormBuilder::field] (debug2) return (id id_impianto nome descrizione)
[CGI::FormBuilder::field] (debug2) called $form->field()
[CGI::FormBuilder::field] (debug2) return (id id_impianto nome descrizione)
[CGI::FormBuilder::Field::type] (debug2) id_impianto: called 
$field->type (manual = 'text')
[CGI::FormBuilder::Field::jsfield] (debug2) return '' unless auto && 
(/^([A-Za-z0-9]{4})$/ || 1)
[CGI::FormBuilder::Field::jsfield] (debug1) id_impianto: generating 
JavaScript validation code
[CGI::FormBuilder::Field::type] (debug2) id_impianto: called 
$field->type (manual = 'text')
[CGI::FormBuilder::Field::type] (debug2) nome: called $field->type 
(manual = 'text')
[CGI::FormBuilder::Field::jsfield] (debug2) return '' unless auto && 
(VALUE || 1)
[CGI::FormBuilder::Field::jsfield] (debug1) nome: generating JavaScript 
validation code
[CGI::FormBuilder::Field::type] (debug2) nome: called $field->type 
(manual = 'text')
[CGI::FormBuilder::Field::type] (debug2) descrizione: called 
$field->type (manual = 'textarea')
[CGI::FormBuilder::Field::jsfield] (debug2) return '' unless auto && ( || )
[CGI::FormBuilder::prepare] (debug2) $tmplvar{title} = $self->title
[CGI::FormBuilder::prepare] (debug2) $tmplvar{start} = $self->start . 
$self->statetags . $self->keepextras
[CGI::FormBuilder::prepare] (debug2) $tmplvar{submit} = $self->submit
[CGI::FormBuilder::prepare] (debug2) $tmplvar{reset} = $self->reset
[CGI::FormBuilder::prepare] (debug2) $tmplvar{end} = $self->end
[CGI::FormBuilder::prepare] (debug2) $tmplvar{invalid} = $self->invalid
[CGI::FormBuilder::prepare] (debug2) $tmplvar{required} = $self->required
[CGI::FormBuilder::prepare] (debug2) $tmplvar{fields} = [ map 
$tmplvar{field}{$_}, $self->field ]
[CGI::FormBuilder::field] (debug2) called $form->field()
[CGI::FormBuilder::field] (debug2) return (id id_impianto nome descrizione)


-- 
Marcello Romani
Responsabile IT
Ottotecnica s.r.l.
http://www.ottotecnica.com



More information about the Catalyst mailing list