Dear Monks,
A Mojolicious app uses an external module (Mail::IMAPClient) which uses Carp which logs to STDERR. I need to tell Carp to use Mojoapp's own Mojo::Log object (which logs to a file with specific settings etc.).
many thanks, bliako
EDIT: I realised that Mail::IMAPClient outputs debug information as well and in its documentation it says that one can specify a filehandle to redirect just that *debug* output. In retrospect, this was my biggest problem when I asked this question. I stupidly thought all that debug output was going through Carp. For sending Carp's output to a (Mojo) logger, see solution below Re: Change Carp's output to Mojo::Log. For redirecting the debug output as well, I leave this as a reminder mostly to me (it is copypasted from Mojo::Log's and Mail::IMAPClient's doc):
# redirect Mail::IMAPClient to Mojo::Log's filehandle. use Mail::IMAPClient; use Mojo::Log; my $log = Mojo::Log->new(path => "logfile"); my $client = Mail::IMAPClient->new( ... Debug => 1, Debug_fh => $log->handle );
In reply to Change Carp's output to Mojo::Log by bliako
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |