0.042 2023-12-29 Released-By: PERLANCAR; Urgency: low
- No functional changes.
- Document functions in Log::ger::Util.
0.041 2023-10-29 Released-By: PERLANCAR; Urgency: low
- No functional changes.
- [doc] Fix minor typos, update mentioned module name.
0.040 2022-06-10 Released-By: PERLANCAR; Urgency: low
- No functional changes.
- Edit Changes to add Backward-Incompatible metadata.
0.039 2022-06-10 Released-By: PERLANCAR; Urgency: low
- No functional changes.
- [doc] Tweak Log::ger's Synopsis to make the code more explanatory.
- [internals] Replace 'use var' with 'our' as the former is discouraged
in 5.006+ (thanks James Raspass).
0.038 2021-01-31 Released-By: PERLANCAR; Urgency: medium
- Rename Log::ger::Plugin::MultilevelLog to the more appropriate
Log::ger::Format::MultilevelLog, so use-ing it affects the current
package only. The old name is still available but deprecated and will
be removed in the future.
0.037 2020-03-11 Released-By: PERLANCAR; Urgency: high; Backward-Incompatible: yes
- [Incompatible change] Bump meta version to 2 to force all plugins
to be upgraded to comply to Log::ger >0.032.
0.036 2020-03-10 Released-By: PERLANCAR; Urgency: medium
- Add _import_to() to easily import to an arbitrary package.
0.035 2020-03-10 Released-By: PERLANCAR; Urgency: medium
- Support perl < 5.22 (no warnings category 'redundant' yet)
[RT#132066].
0.034 2020-03-09 Released-By: PERLANCAR; Urgency: medium
- Add meta() and check meta version so in the future we can reject
plugins that are not up-to-date.
0.033 2020-03-07 Released-By: PERLANCAR; Urgency: medium
- Rename things for clarity. 1) routine types: log_{sub,method} ->
logger_{sub,method}, is_{sub,method} -> level_checker_{sub,method}
(old names still accepted for now). 2) hooks: create_is_routine ->
create_level_checker, create_log_routine -> create_outputter (old
names still accepted for now). This avoids confusion between "logger
routine" (the final routine that gets installed to target) vs
"outputter" (the routine that does actual sending to output, provided
by output plugins). The "is routine" was also a bad name.
0.032 2020-03-06 Released-By: PERLANCAR; Urgency: medium; Backward-Incompatible: yes
- Introduce filters as a way to do custom filtering as well as to
extract additional information from the original logger arguments,
e.g. so we can do multilevel log(level=>..., message=>...), pass
category log(category=>..., ...) and so on.
- [INCOMPATIBLE CHANGE] [removed feature] Remove multilevel (logml)
stuffs and reimplement them with filters: remove logml_{subs,methods}
routine types, remove create_logml_routine phase, remove ArrayML
output. All outputs/plugins that provide create_logml_routine will
stop working and will need to be updated.
- [INCOMPATIBLE CHANGE] Rename some hook arguments passed to plugin for
clarity: target -> target_type, target_arg -> target_name, init_args
-> per_target_conf.
- Merge Log::ger::Format::Default from Log-ger-Default-Format.
- Rename variables/terminologies to be clearer: target -> target type,
target arg -> target name, init args -> per-target conf. We also now
have per-message conf, produced by filter.
0.031 2020-03-04 Released-By: PERLANCAR; Urgency: medium
- Allow each routine to have its own init args; this allows e.g.
creating multiple sets of logger subroutines that log to
different categories, as implemented in
Log::ger::Plugin::Multisets.
- Silence 'Redundant argument in sprintf' warning.
- [doc] Tweak to make module name and version clearer [GH #2].
0.030 2020-02-18 Released-By: PERLANCAR; Urgency: low
- No functional changes.
- [doc] Tweak Synopsis, at least show how to set level & pick
multiple outputs.
0.029 2020-02-18 Released-By: PERLANCAR; Urgency: low
- No functional changes.
- [dist] Mark default formatter block using # BEGIN_BLOCK .. # END_BLOCK
so it can be extracted by Dist::Zilla plugin
[InsertBlock::FromModule].
0.028 2019-05-06 Released-By: PERLANCAR
- Use Data::Dumper's Useqq=1 to show unprintable characters.
0.027 2019-04-13 Released-By: PERLANCAR
- Fix startup overhead regression by avoiding to load Sub::Name &
name routines if we don't have any outputs.
0.026 2019-04-12 Released-By: PERLANCAR
- UPDATE 2019-04-13: This version has startup overhead regression. You
might want to update to 0.027.
- Name the generated routines with Sub::Name if available.
- Remove declaration of unneeded variable $Caller_Depth_Offset.
0.025 2018-12-20 Released-By: PERLANCAR
- No functional changes.
- [doc] Mention Debug::Print.
- [doc] Also mention speed relative to Log::Contextual.
0.024 2018-12-20 Released-By: PERLANCAR
- No functional changes.
- [doc] Mention that Log::ger is ~100x faster than Log::Dispatch.
0.023 2017-08-03 Released-By: PERLANCAR
- [Internal] Change the numeric values of level, to accomodate more room
for custom levels.
- Defer set default null routines so other module can customize
levels.
0.022 2017-08-03 Released-By: PERLANCAR
- [Bugfix] Fix stupid copy-paste mistake [RT#122687].
- [doc] Fix copy-paste mistake [RT#122689].
0.021 2017-08-02 Released-By: PERLANCAR
- [Bugfix] Output, Layout: set() now properly replaces hooks from
previous output/layout plugin (need to remove from all phases).
- Add output for testing: ArrayML.
0.020 2017-07-30 Released-By: PERLANCAR
- [ux] Enable $Data::Dmp::OPT_REMOVE_PRAGMAS.
0.019 2017-07-14 Released-By: PERLANCAR
- [Bugfix] Forgot to create preconstructed default null-loggers for
object target.
0.018 2017-07-14 Released-By: PERLANCAR
- 'use Log::ger::Format "Foo"' now sets for current package instead of
globally (but the other plugins like Log::ger::Output or
Log::ger::Layout still defaults to setting globally).
0.017 2017-07-13 Released-By: PERLANCAR
- No functional changes.
- [doc] Update some benchmark numbers.
0.016 2017-07-13 Released-By: PERLANCAR
- Reduce startup overhead by splitting some parts of Log::ger to
Log::ger::Heavy. When user loads modules that have 'use Log::ger', but
never adds any outputs (which is a pretty common case when user just
uses a module without setting up any logging), then we can cheat by
skipping init_target() and just installs the null, default-named
logging routines. So we split the part that does real init_target() to
Log::ger::Heavy, similar to how Carp & Carp::Heavy was split. This
reduces startup overhead significantly. When user loads Log::ger::Util
(e.g. to run set_plugin()) or when some hooks are added, then we load
Log::ger::Heavy.
0.015 2017-07-12 Released-By: PERLANCAR
- [Bugfix] Used the wrong key to get per-object hooks.
0.014 2017-07-11 Released-By: PERLANCAR
- Pass 'formatters' and 'layouter' arguments to
before_install_routines hook.
0.013 2017-07-11 Released-By: PERLANCAR
- Allow multiple formatters.
0.012 2017-07-02 Released-By: PERLANCAR
- [optimize] init_target: Reuse multilevel log routine from hook
for log routines of all levels.
- [Bugfix] Fix string level passed to layouter when logger is a
multilevel logger.
0.011 2017-06-30 Released-By: PERLANCAR; Backward-Incompatible: yes
- [Incompatible change] In hook argument "routines", change $flags to
$type to be more general. The value can be 'log_sub', 'log_method',
'logml_sub', 'logml_method', 'is_sub', 'is_method'.
- Support multilevel log statement log($level, ...) by using
LGP:MultilevelLog (included in core distribution).
- [Internal] Introduce phase 'create_logml_routine'.
- [Test] Add test for LG:Format::None.
- [Bugfix] reinit_target() didn't find the correct hash key.
0.010 2017-06-28 Released-By: PERLANCAR
- [Bugfix] Don't install log methods to package (vice versa, don't
install log subroutines to object package).
- [doc] Remove mention of filter.
0.009 2017-06-28 Released-By: PERLANCAR
- Remove Log::ger::Filter and 'create_filter' phase because they are
unused.
- Add Layout.
- Add formatter: None.
0.008 2017-06-26 Released-By: PERLANCAR
- Util: Add string_level().
0.007 2017-06-25 Released-By: PERLANCAR
- Add custom level test.
- Add output: Array.
0.006 2017-06-24 Released-By: PERLANCAR
- [Bugfix] Use the correct package when initializing object.
0.005 2017-06-23 Released-By: PERLANCAR; Backward-Incompatible: yes
- [Incompatible change] Another round of internal refactoring and
interface changes. New: Log::ger::{Plugin,Format,Filter}. Every plugin
(including filter, format, output) can be set on a per-target basis or
globally. The term 'hooks' is in again. Add 'create_routine_names'
phase. Remove 'after_create_log_routine',
'after_create_log_is_routine'. Move FAQ & internals doc to
Log-ger-Manual dist.
0.004 2017-06-21 Released-By: PERLANCAR
- [Bugfix] Log::ger::Output didn't have VERSION.
0.003 2017-06-21 Released-By: PERLANCAR
- Split Log::ger::Output::Screen to its own dist so this dist can be
more minimalist and that module can be tested e.g. with Capture::Tiny
etc.
- String output: add option append_newline to allow disable
appending newline.
- import(): No need to turn category 'Foo::Bar' -> 'foo.bar'.
- [doc] Update module name Log::ger::LogAny -> Log::ger::Output::LogAny.
0.002 2017-06-21 Released-By: PERLANCAR; Backward-Incompatible: yes
- [Incompatible change] Reorganize internals & fix a couple of doc
typos.
- Add outputs: Null, String (mainly for testing).
- Formatter: format undef as '<undef>' like in Log::Any.
- Screen output: Add hooks for
Progress::Any::Output::TermProgressBarColor, like in
Log::Any::Adapter::Screen.
- Add some tests.
0.001 2017-06-19 Released-By: PERLANCAR
- First release.