Hi,
i cannot see the anwser from Stefan Adams,
has it been deleted ? (I got criticized for it ;-) )
Anyhow, the best way is to create a plugin which you can use from 
everywhere in your app.

mojo generate plugin Test::Utils (gives you)
  [mkdir] 
/root/Plugins/Mojolicious-Plugin-Test-Utils/lib/Mojolicious/Plugin/Test
  [write] 
/root/Plugins/Mojolicious-Plugin-Test-Utils/lib/Mojolicious/Plugin/Test/Utils.pm
  [mkdir] /root/Plugins/Mojolicious-Plugin-Test-Utils/t
  [write] /root/Plugins/Mojolicious-Plugin-Test-Utils/t/basic.t
  [exist] /root/Plugins/Mojolicious-Plugin-Test-Utils
  [write] /root/Plugins/Mojolicious-Plugin-Test-Utils/Makefile.PL

Than edit your Plugin:
vi Mojolicious-Plugin-Test-Utils/lib/Mojolicious/Plugin/Test/Utils.pm

E.g: Debug Logger:

package Mojolicious::Plugin::Test::Utils;
use Mojo::Base 'Mojolicious::Plugin';

our $VERSION = '0.01';

sub register {
  my ($self, $app) = @_;


  $app->helper(debug_logger => sub {
      my $c = shift;

      #debugging in hypnotoad
      return Mojo::Log->new(path => '/var/log/debug.log', level => 'debug');

  });

}

1;


Then build it:
cd Mojolicious-Plugin-Test-Utils
perl Makefile.PL
make
make install


Enable it in your app by loading it in yout startup routine:
#init Utilities plugin
$self->plugin( 'Test::Utils );

Use it in your app or another helper:

my $logger = $app->debug_logger;
$logger->debug(sprintf("test\n" ));

There's also a very good documentation on the website:
You totally should read:
http://mojolicious.org/perldoc/Mojolicious/Guides/Growing
And:
http://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook

Best regards

Hans



Am Dienstag, 4. Juli 2017 00:17:38 UTC+2 schrieb Beginner:
>
> Thanks.  That's certainly one way ... I am more curious if I can access 
> the helper name from within the helper as my application has hundreds of 
> helpers and I am trying to see if I can lookup the name from within the 
> helper itself.  If there is no other way, I will fall back to your 
> suggestion.
>
> On Monday, July 3, 2017 at 4:52:25 PM UTC-4, Stefan Adams wrote:
>>
>>
>> On Mon, Jul 3, 2017 at 7:01 AM, Beginner <[email protected]> wrote:
>>>
>>> *my $helper = 'dummy';*
>>
>> helper *$helper* => sub { 
>>>     my $self = shift;
>>>     my $log = shift;
>>>     *#**my $helper = "";* # XXX - how to determine the name dynamically?
>>>
>>>     my $time_start = $self->get_start_time();
>>>
>>>     $log->info({msg => "started helper $helper"});
>>>     # .. Do something ..
>>>     $elapsed = $self->get_elapsed_time($get_start_time);
>>>     $log->info({msg => "completed helper $helper", took => $elapsed});
>>> };
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to