|
1 | 1 | # lgr 0.4.5.9000 |
2 | 2 |
|
3 | | -* `AppenderConsole` now accept a `connection` argument. If called from a |
4 | | - `{knitr}` rendering process, log messages are now output to `stderr` instead |
5 | | - of `stdout` by default, to avoid polluting markdown documents (#62, thx @gadenbuie). |
6 | | - |
7 | | -* BREAKING: added `rawMsg` property to LogEvents to store message without |
8 | | - string interpolation (e.g. that still contains the placeholders from |
9 | | - `sprintf()` or `glue()`). rawMsg will be added by default to json |
10 | | - log files (#60) |
11 | | - |
12 | | -* Replace `NULL` values and empty characters in logging by the string `"<NULL>"`. |
| 3 | +- Added `rawMsg` property to LogEvents to store message without |
| 4 | + string interpolation (i.e. the original string that still contains |
| 5 | + the placeholders from either `sprintf()` or `glue()`) (#60) |
| 6 | + |
| 7 | +- Updated `AppenderConsole` to accept a `connection` argument. If called from a |
| 8 | + `{knitr}` rendering process, log messages are now output to `stderr` instead |
| 9 | + of `stdout` by default. This avoids polluting markdown documents (#62, thx @gadenbuie). |
| 10 | + |
| 11 | +- Replace `NULL` values and empty characters in logging by the string `"<NULL>"`. |
13 | 12 | Before, `NULL` values would have resulted in empty log messages. (#51) |
14 | | - |
15 | | -* Support transformers for `LoggerGlue` (see `?glue::glue`) (#51) |
16 | 13 |
|
17 | | -* Add support for `excluded_fields` to `Layout`, and exclude rawMsg by |
18 | | - default from `LayotJson` |
19 | | - |
20 | | -* updated README |
| 14 | +- Support transformers for `LoggerGlue` (see `?glue::glue`) (#51) |
| 15 | + |
| 16 | +- Add support for `excluded_fields` to `Layout`, and exclude `rawMsg` by |
| 17 | + default from `LayoutJson` (for backwards compatibility) |
21 | 18 |
|
22 | 19 |
|
23 | 20 | # lgr 0.4.4 |
24 | 21 |
|
25 | | -* `%k` and `%K` parameters in `format.LogEvent` now work as expected when using |
| 22 | +- `%k` and `%K` parameters in `format.LogEvent` now work as expected when using |
26 | 23 | **crayon** terminal colours (#52). |
27 | | - |
28 | | -* Fix default format string for `LayoutGlue` which was using `msg` |
29 | | - instead of `{msg}` (#54, thx @mmuurr) |
30 | | - |
31 | | -* Update docs to use the more common term "structured logging" instead of |
| 24 | + |
| 25 | +- Fix default format string for `LayoutGlue` which was using `msg` |
| 26 | + instead of `{msg}` (#54, thx @mmuurr) |
| 27 | + |
| 28 | +- Update docs to use the more common term "structured logging" instead of |
32 | 29 | "custom fields" where appropriate |
33 | 30 |
|
34 | | -* `as_event_list.data.frame` now really returns a list of `LogEvents` |
| 31 | +- `as_event_list.data.frame` now really returns a list of `LogEvents` |
35 | 32 |
|
36 | | -* added `as_LogEvent()` to coerce various event-like objects to `LogEvents` |
| 33 | +- added `as_LogEvent()` to coerce various event-like objects to `LogEvents` |
37 | 34 |
|
38 | | -* rebuild docs for R 4.2.0 |
| 35 | +- rebuild docs for R 4.2.0 |
39 | 36 |
|
40 | 37 |
|
41 | 38 | # lgr 0.4.3 |
42 | 39 |
|
43 | | -* `logger_index()` returns a `data.frame` with metadata on all registered |
| 40 | +- `logger_index()` returns a `data.frame` with metadata on all registered |
44 | 41 | loggers (#47) (thanks @Fuco1) |
45 | | - |
46 | | -* export new `string_repr()` generic that is used to layout R objects for |
| 42 | +- export new `string_repr()` generic that is used to layout R objects for |
47 | 43 | formatted log message output (#48, thanks @mmuurr) |
48 | | - |
49 | | -* The `$log()` method of Logger and LoggerGlue now unpacks conditions (except |
| 44 | +- The `$log()` method of Logger and LoggerGlue now unpacks conditions (except |
50 | 45 | if they are supplied as a named argument) (#45, thanks @mmuurr) |
51 | | - |
52 | | -* Fix some timezone related tests for CRAN |
| 46 | +- Fix some timezone related tests for CRAN |
53 | 47 |
|
54 | 48 |
|
55 | 49 | # lgr 0.4.2 |
56 | 50 |
|
57 | | -* Deprecated the `create_file` argument of `AppenderFileRotating*`. This |
| 51 | +- Deprecated the `create_file` argument of `AppenderFileRotating*`. This |
58 | 52 | is now hardcoded to `TRUE` (because `FALSE` doesn't really make sense here). |
59 | 53 |
|
60 | | -* `default_exception_handler()` now throws more informative warnings if an |
| 54 | +- `default_exception_handler()` now throws more informative warnings if an |
61 | 55 | error is encountered during logging. |
62 | 56 |
|
63 | | -* drop tests for deprecated [future](https://cran.r-project.org/package=future) |
| 57 | +- drop tests for deprecated [future](https://cran.r-project.org/package=future) |
64 | 58 | plans to ensure compatibility with upcoming versions of future (#43) |
65 | | - |
66 | | - |
| 59 | + |
| 60 | + |
67 | 61 | # lgr 0.4.1 |
68 | 62 |
|
69 | | -* Moved more complex Appenders to package |
70 | | - [lgrExtra](https://github.com/s-fleck/lgrExtra). This includes database |
71 | | - Appenders, email and push notifications and AppenderDt (in-memory |
| 63 | +- Moved more complex Appenders to package |
| 64 | + [lgrExtra](https://github.com/s-fleck/lgrExtra). This includes database |
| 65 | + Appenders, email and push notifications and AppenderDt (in-memory |
72 | 66 | `data.tables`). |
73 | | - |
74 | | -* `AppenderFile$show()` can now filter log files formatted by LayoutFormat |
| 67 | +- `AppenderFile$show()` can now filter log files formatted by LayoutFormat |
75 | 68 | by log level. Be aware that this just `greps` through the file and therefore |
76 | | - will return false positives on lines where the log message contains strings |
| 69 | + will return false positives on lines where the log message contains strings |
77 | 70 | that can be interpreted as log levels. |
78 | | - |
79 | | -* `AppenderFile$show()` and `AppenderFile$data` now dispatches to |
80 | | - `Layout$read()` and `Layout$parse()`. This makes it possible to tie |
| 71 | +- `AppenderFile$show()` and `AppenderFile$data` now dispatches to |
| 72 | + `Layout$read()` and `Layout$parse()`. This makes it possible to tie |
81 | 73 | reading/parsing of log files to Layouts. |
82 | 74 |
|
83 | | -* Loggers gain a `list_log()` method. See https://github.com/s-fleck/joblog for |
84 | | - an R package that leverages this feature to create custom log event types for |
85 | | - tracking the status of cron jobs. |
86 | | - |
87 | | -* Export more utility functions that are useful for creating custom Appenders; |
| 75 | +- Loggers gain a `list_log()` method. See https://github.com/s-fleck/joblog for |
| 76 | + an R package that leverages this feature to create custom log event types for |
| 77 | + tracking the status of cron jobs. |
| 78 | +- Export more utility functions that are useful for creating custom Appenders; |
88 | 79 | such as `standardize_threshold()` and `event_list()`. |
89 | | - |
90 | | -* AppenderBuffer now defaults to `flush_threshold = NULL` |
| 80 | +- AppenderBuffer now defaults to `flush_threshold = NULL` |
91 | 81 | (never flush because of the log level of an event) |
92 | | - |
93 | | -* `basic_config()` now works as documented for .jsonl files |
| 82 | +- `basic_config()` now works as documented for .jsonl files |
94 | 83 |
|
95 | | -* AppenderMemory gains a `$clear()` method that clears the buffer without |
| 84 | +- AppenderMemory gains a `$clear()` method that clears the buffer without |
96 | 85 | sending the events to it's attached appenders |
97 | 86 |
|
98 | | -* LayoutJson gains a `timestamp_fmt` field that can be used for custom |
| 87 | +- LayoutJson gains a `timestamp_fmt` field that can be used for custom |
99 | 88 | timestamp formats (#34) |
100 | | - |
101 | | -* added `toString.LogEvent()` for compact representations of LogEvents |
| 89 | +- added `toString.LogEvent()` for compact representations of LogEvents |
102 | 90 |
|
103 | | -* lgr is now automatically tested for all major R version >= 3.2.0 |
| 91 | +- lgr is now automatically tested for all major R version >= 3.2.0 |
104 | 92 |
|
105 | | -* AppenderMemory/AppenderBuffer: `flush_threshold` is now independent of |
| 93 | +- AppenderMemory/AppenderBuffer: `flush_threshold` is now independent of |
106 | 94 | `should_flush` function. `default_should_flush()` is no longer necessary |
107 | 95 | and has been removed. |
108 | | - |
109 | | -* Updated AppenderFileRotating and co for compatibility with |
| 96 | +- Updated AppenderFileRotating and co for compatibility with |
110 | 97 | [rotor](https://github.com/s-fleck/rotor) 0.3.0 |
111 | 98 |
|
112 | | -* Most errors now have appropriate subclasses |
| 99 | +- Most errors now have appropriate subclasses |
113 | 100 |
|
114 | | -* `Logger$log()` dispatches to all appenders - even if some throw an error - |
| 101 | +- `Logger$log()` dispatches to all appenders - even if some throw an error - |
115 | 102 | instead of aborting after the first Appender that throws an error |
116 | | - |
117 | | -* complete rewrite of the documentation to use the new roxygen2 features for |
| 103 | +- complete rewrite of the documentation to use the new roxygen2 features for |
118 | 104 | R6 classes. |
119 | 105 |
|
120 | 106 |
|
121 | 107 | # lgr 0.3.4 |
122 | 108 |
|
123 | | -* Hotfix for compatibility with R < 3.6.0 (#32) |
| 109 | +- Hotfix for compatibility with R < 3.6.0 (#32) |
124 | 110 |
|
125 | 111 |
|
126 | 112 | # lgr 0.3.3 |
127 | 113 |
|
128 | | -* Fixed a performance regression when looking up the parent of a Logger. This |
129 | | - notably affected the performance of "do-nothing" logging (e.g. when a |
| 114 | +- Fixed a performance regression when looking up the parent of a Logger. This |
| 115 | + notably affected the performance of "do-nothing" logging (e.g. when a |
130 | 116 | log message is discarded because it is below a loggers' threshold) |
131 | | - |
| 117 | + |
132 | 118 |
|
133 | 119 | # lgr 0.3.2 |
134 | 120 |
|
135 | | -* Added AppenderSyslog for logging to syslog via |
| 121 | +- Added AppenderSyslog for logging to syslog via |
136 | 122 | [rsyslog](https://github.com/atheriel/rsyslog) (thanks to atheriel) |
137 | 123 |
|
138 | 124 |
|
139 | 125 | # lgr 0.3.1 |
140 | 126 |
|
141 | | -* Added `logger_tree()` which provides an overview of all registered loggers |
| 127 | +- Added `logger_tree()` which provides an overview of all registered loggers |
142 | 128 |
|
143 | | -* Added `print()` and `format()` methods for Appenders |
| 129 | +- Added `print()` and `format()` methods for Appenders |
144 | 130 |
|
145 | | -* `AppenderMemory`: added `data` and `dt` active fields (which return the |
| 131 | +- `AppenderMemory`: added `data` and `dt` active fields (which return the |
146 | 132 | log as a data.frame or data.table) |
147 | 133 |
|
148 | | -* Removed deprecated functions `FATAL()`, `ERROR()`. Use `lgr$fatal()`, |
| 134 | +- Removed deprecated functions `FATAL()`, `ERROR()`. Use `lgr$fatal()`, |
149 | 135 | `lgr$error()`, ... instead. |
150 | 136 |
|
151 | | -* `AppenderMemory`: `$buffer_dt()` and `$show()` now handle custom fields |
| 137 | +- `AppenderMemory`: `$buffer_dt()` and `$show()` now handle custom fields |
152 | 138 | containing atomic vectors correctly |
153 | 139 |
|
154 | 140 |
|
155 | 141 | # lgr 0.3.0 |
156 | 142 |
|
157 | | -* Added support for rotating log files via `AppenderFileRotating`, |
| 143 | +- Added support for rotating log files via `AppenderFileRotating`, |
158 | 144 | `AppenderFileRotatingDate` and `AppenderFileRotatingTime`. Requires the |
159 | 145 | package [rotor](https://github.com/s-fleck/rotor). |
160 | | - |
161 | | -* functions like `show_log()`, `show_data()`,... now accept logger names as |
| 146 | +- functions like `show_log()`, `show_data()`,... now accept logger names as |
162 | 147 | well as Logger or Appender objects as `target`. |
163 | | - |
164 | | -* `AppenderFile$new()` now creates an empty file, or fails if it can't |
| 148 | +- `AppenderFile$new()` now creates an empty file, or fails if it can't |
165 | 149 |
|
166 | | -* Improved support for RMariaDB and dropped support for RMySQL |
| 150 | +- Improved support for RMariaDB and dropped support for RMySQL |
167 | 151 |
|
168 | | -* Improved support for RPostgres and dropped support for RPostgreSQL |
| 152 | +- Improved support for RPostgres and dropped support for RPostgreSQL |
169 | 153 |
|
170 | | -* added `reset` argument to `get_logger()`. This completely resets the |
171 | | - configuration of the logger and also replaces special loggers (such as |
| 154 | +- added `reset` argument to `get_logger()`. This completely resets the |
| 155 | + configuration of the logger and also replaces special loggers (such as |
172 | 156 | `LoggerGlue`) with vanilla ones. |
173 | 157 |
|
174 | 158 |
|
175 | 159 | # lgr 0.2.2 |
176 | 160 |
|
177 | | -* The root logger can now be configured via `options()` and/or environment |
| 161 | +- The root logger can now be configured via `options()` and/or environment |
178 | 162 | variables (see `?lgr`) |
179 | | - |
180 | | -* `basic_config()` now accepts thresholds ("info", "fatal") as arguments to |
181 | | - `console` and `memory`. |
182 | | - |
183 | | -* The default config of the root logger has changed. It now only has a |
| 163 | +- `basic_config()` now accepts thresholds ("info", "fatal") as arguments to |
| 164 | + `console` and `memory`. |
| 165 | +- The default config of the root logger has changed. It now only has a |
184 | 166 | console appender and a default threshold of `"info"`. To get |
185 | | - back the old behaviour run |
| 167 | + back the old behaviour run |
186 | 168 | `basic_config(threshold = "all", console = "info", memory = "all")`. |
187 | | - |
188 | | -* `$config(NULL)` now resets a Logger to its default/unconfigured state |
| 169 | +- `$config(NULL)` now resets a Logger to its default/unconfigured state |
189 | 170 |
|
190 | | -* `$config()` now accepts YAML as well as JSON files (or YAML/JSON as a |
| 171 | +- `$config()` now accepts YAML as well as JSON files (or YAML/JSON as a |
191 | 172 | character string) |
192 | | - |
193 | | -* `with_log_level()` and `with_log_value()` now accept logger names as well as |
| 173 | +- `with_log_level()` and `with_log_value()` now accept logger names as well as |
194 | 174 | Logger objects as the `logger` argument |
195 | | - |
196 | | -* `get_logger_glue()` now works as intended |
| 175 | +- `get_logger_glue()` now works as intended |
197 | 176 |
|
198 | | -* Deprecated `FATAL()`, `ERROR()`. Use `lgr$fatal()`, `lgr$error()`, ... instead. |
| 177 | +- Deprecated `FATAL()`, `ERROR()`. Use `lgr$fatal()`, `lgr$error()`, ... instead. |
199 | 178 |
|
200 | 179 |
|
201 | 180 | # lgr 0.2.1 |
202 | 181 |
|
203 | | -* Emergency fix that ensures test suite cleans up temporary files |
| 182 | +- Emergency fix that ensures test suite cleans up temporary files |
204 | 183 |
|
205 | | -* Removed .rd file for the unexported LoggerRoot class |
| 184 | +- Removed .rd file for the unexported LoggerRoot class |
206 | 185 |
|
207 | 186 |
|
208 | 187 | # lgr 0.2.0 |
209 | 188 |
|
210 | | -* `get_loggers()` registers new loggers in the lgr::loggers namespace, this |
211 | | - is a more global and decoupled approach similar to how python logging handles |
212 | | - loggers. |
213 | | - |
214 | | -* removed `full_name` active binding for loggers. Loggers now only have |
| 189 | +- `get_loggers()` registers new loggers in the lgr::loggers namespace, this |
| 190 | + is a more global and decoupled approach similar to how python logging handles |
| 191 | + loggers. |
| 192 | +- removed `full_name` active binding for loggers. Loggers now only have |
215 | 193 | qualified names and `name` is now identical to what `full_name` was before. |
216 | 194 | For consistency the format method of `ancestry` has also been revised. |
217 | | - |
218 | | -* Logger inheritance is now derived from the qualified name of a logger. |
219 | | - Consequently `lg$parent` is now derived from `lg$name`, `lg$set_parent()` |
| 195 | +- Logger inheritance is now derived from the qualified name of a logger. |
| 196 | + Consequently `lg$parent` is now derived from `lg$name`, `lg$set_parent()` |
220 | 197 | is no longer possible. |
221 | | - |
222 | | -* If no threshold is set for a new Logger, it now inherits the threshold |
| 198 | +- If no threshold is set for a new Logger, it now inherits the threshold |
223 | 199 | of its parent |
224 | | - |
225 | | -* Depend on R6 >= 2.4.0 which includes relevant fixes to finalizers. finalize |
| 200 | +- Depend on R6 >= 2.4.0 which includes relevant fixes to finalizers. finalize |
226 | 201 | methods are now private. |
227 | | - |
228 | | -* Logger now have a `config` method that allows configuring Loggers with config |
| 202 | +- Logger now have a `config` method that allows configuring Loggers with config |
229 | 203 | objects and YAML files (experimental) |
230 | | - |
231 | | -* added `with_logging()`, the opposite of `without_logging()`. This can be |
| 204 | +- added `with_logging()`, the opposite of `without_logging()`. This can be |
232 | 205 | handy for automated tests where you might want so switch logging off/on only |
233 | 206 | for specific unit tests. |
234 | 207 |
|
235 | 208 |
|
236 | 209 | # lgr 0.1.1 |
237 | 210 |
|
238 | | -* Added `show_data()` and `show_dt()` for quick access to the root loggers |
| 211 | +- Added `show_data()` and `show_dt()` for quick access to the root loggers |
239 | 212 | in memory log as `data.frame` or `data.table` respectively |
240 | | - |
241 | | -* numerous small fixes |
| 213 | +- numerous small fixes |
242 | 214 |
|
243 | | -* removed non-breaking-spaces from .RD files. This caused unforeseen problems |
| 215 | +- removed non-breaking-spaces from .RD files. This caused unforeseen problems |
244 | 216 | with the compiling the .pdf manual during the CRAN submission process. |
0 commit comments