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
_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/