C<Log::Contextual> chooses which logger to use based on L<< user defined C<CodeRef>s|/LOGGER CODEREF >>.
Normally you don't need to know this, but you can take advantage of it when you
-need to later
+need to later.
=item * Scalable
-If you just want to add logging to your extremely basic application, start with
+If you just want to add logging to your basic application, start with
L<Log::Contextual::SimpleLogger> and then as your needs grow you can switch to
L<Log::Dispatchouli> or L<Log::Dispatch> or L<Log::Log4perl> or whatever else.
while still allowing you to switch from one logger to another.
It is bundled with a really basic logger, L<Log::Contextual::SimpleLogger>,
-but in general you should use a real logger instead of that. For something
+but in general you should use a real logger instead. For something
more serious but not overly complicated, try L<Log::Dispatchouli> (see
L</SYNOPSIS> for example.)
Note the C<< $_[1] || >> in C<arg_default_logger>. All of these methods are
passed the values passed in from the arguments to the subclass, so you can
-either throw them away, honor them, die on usage, or whatever. To be clear,
+either throw them away, honor them, die on usage, etc. To be clear,
if you define your subclass, and someone uses it as follows:
use MyApp::Log::Contextual -default_logger => $foo,
Anywhere a logger object can be passed, a coderef is accepted. This is so
that the user can use different logger objects based on runtime information.
-The logger coderef is passed the package of the caller the caller level the
+The logger coderef is passed the package of the caller, and the caller level the
coderef needs to use if it wants more caller information. The latter is in
a hashref to allow for more options in the future.