- Implement feature request #74: Add support for
lgr
logging package. Thanks to github user "duccioa" for the pull request (#73)! - Add function
set.logging.package()
as preparation of feature request #42 (add convenience functions to activate other major logging packages). Currently onlyfutile.logger
,lgr
andtryCatchLog
are supported as logging package. - Add option
tryCatchLog.preferred.logging.package
to configure which logging package shall be used when thetryCatchLog
package is loaded - Add optional argument
logger.package.name
toset.logging.functions()
to allow internal status printing of the active logging package (or custom functions)
- Fix CRAN check note for
inst/doc/tryCatchLog-intro.html
reported by win-builder on R-devel: Found the following (possibly) invalid URLs: URL: http://www.biostat.jhsph.edu/~rpeng/docs/R-debug-tools.pdf (moved to https://www.biostat.jhsph.edu/~rpeng/docs/R-debug-tools.pdf)
- Fix critical bug #68: Bad condition logging performance with bug data sizes (#68)
- Limit the maximum number of source code rows printed in the full call stack per call to 10 (was unlimited before which cause bug #68 if large data in arguments was printed too)
- Add option
tryCatchLog.max.lines.per.call
to change the maximum number of source code rows printed in the full call stack per call
-
Implement feature request #62: Optional logging of conditions via the new
logged.conditions
argument (#62). Conditions are now no longer logged by default to avoid flooding the log output.Many thanks to Valerian Wrobel for this contribution!
- Fix redirected links found by CRAN precheck:
- Found the following (possibly) invalid URLs: URL: https://rstudio.com/products/rstudio/ (moved to https://www.rstudio.com/products/rstudio/) From: inst/doc/tryCatchLog-intro.html
- Fix bug #64: Unit tests fail on R-devel (test_build_log_entry.R and test_build_log_output). Many thanks to Brodie Gaslam to find and help fixing this bug!
- Extend the maximum value of the `maxwidth argument of limitedLabels() from 1000 to 2000. This was required for a decent fix of bug #64.
- Fix bug #63: Severity level is contained twice in the log message output line
- Fix redirected links found by CRAN precheck:
- Found the following (possibly) invalid URLs: URL: https://www.rstudio.com/products/rstudio/ (moved to https://rstudio.com/products/rstudio/) From: inst/doc/tryCatchLog-intro.html
- Checked all links in the vignette Rmds and replaced them with the new URL found by the Firefox
- CRAN release version
- Fix r-devel finding "Found the following (possibly) invalid URLs" caused by http to https redirection
- Fix bug #60: sprintf warnings in R-devel (CRAN check)
- Implemented feature requests #14 and #45: Support logging of all conditions (incl. user-defined conditions).
- Fixed bug #55: Duplicated error dump files in nested tryCatchLog calls
-
Implemented feature request #52: Add runtime context information to conditions (#52)
Added the argument
execution.context.msg
to thetryCatchLog
andtry
functions to support an text identifier (eg. the PID or a variable value) that will be added to msg.text for catched conditions. This makes it easier to identify the runtime state that caused a condition esp. in parallel execution scenarios.Idea and core implementation contributed by user '1beb' via pull request #53 (#53). THX!
Note: In
tryLog
the new argument was added at the end to keep the function signature compatible to existing code. IntryCatchLog
the new argument was added as 3rd argument to make it more visible. The signature is still compatible since it follows the...
argument which requires all subsequent arguments to be named in calls. -
Fixed bug:
last.tryCatchLog.result()
has sometimes not been reset in case of an internal error so that the result of the previoustryCatchLog
ortryLog
call was returned (no issue number).
- CRAN release version (with fixed broken unit test that caused this package to be removed from CRAN three weeks ago)
- Fixed CRAN submission finding:
Thanks, we see:
Found the following (possibly) invalid file URIs: URI: LICENSE From: inst/doc/tryCatchLog-intro.html URI: cond From: NEWS.md
Please include the files in the correct directories or link to documents via fully specified URLs.
-
Implemented feature request #44: Support configurable suppression of compact and full stack trace (#44).
tryCatchLog
andtryCatch
now have two additional arguments namedinclude.full.call.stack
andinclude.compact.call.stack
which can also be configured globally via options. -
Also closes (rejects) #5 (suppress empty compact stack trace) and implements #25 (add option for include.full.call.stack).
-
API breaking change: The function
build.log.output
has a new argumentinclude.compact.call.stack
at the 3rd position which breaks the old interface (only if the caller has passed subsequent arguments by position instead of using using the names).
- Fixes the issue #41: Error when the
tryCatchLog
package was not attached first usinglibrary
ordepends
(#41) - Added simple unit test for issue #41
- Restructured some unit tests since
testthat
withdevtools
has a known limitation required by some tests: "Can't detach package in tests" (r-lib/devtools#1797) - Removed german umlaut from the
DESCRIPTION
file to keep it ASCII-only (required due to a new note produced by the winbuilder service)
- Release candidate to fix issue #41: Error when the
tryCatchLog
package was not attached first usinglibrary
ordepends
- Fixed issue #39: Dump files may be overwritten when multiple errors occur at the same second in the same or parallel processes. See: #39
- Creates a (hopefully) unique dump file name incl. milliseconds and the process id in the file name,
eg.:
dump_2019-03-13_at_15-39-33.086_PID_15270.rda
-
Added parameter and options to write dump files into a specific folder: See new
write.error.dump.folder
parameter and newtryCatchLog.write.error.dump.folder
option. Contributed by Charles Epaillard. Closes #37API breaking change:
tryLog
has a changed API due to the newly inserted parameterwrite.error.dump.folder
at position 3. Adjust your source code if you calltryLog
and pass arguments by position using more than 2 arguments). -
Added new function
get.pretty.tryCatchLog.options
for a convenient way of printing and logging the current values of all options supported by thetryCatchLog
package
- Implemented feature request #10 (allow injection of own logging functions):
Added function
set.logging.functions()
. For details see: #10 - Removed hard dependency from package
futile.logger
(inImports
section ofDESCRIPTION
file) by implementing a package internal basic logging functionlog2console
used as default if the packagefutile.logger
is not installed - Dependency of package
futile.logger
is now onlySuggests
in theDESCRIPTION
file, no longerImports
- Fixes issue #29 (bug):
limitedLabelsCompact
does ignoremaxwidth
argument (logged call stack is too long) - Refactored R code to improve unit tests (via mocking)
- Fixed typo in function documentation
- Added AppVeyor CI to github repository for automatic builds on Windows (besides the existing ones on Linux)
- Official CRAN version (published May 18, 2018)
- Added summary page at the beginning of the vignette to explain the advantages "at a glance"
- Vignette is using now
rmarkdown::html_vignette
as output to minimize the HTML file size - Refactored vignette doc into smaller reusable parts (for slides + "booklet").
- Removed package
revealjs
from "recommended" section in DESCRIPTION file
- Added vignette with introduction into error handling with R and the
tryCatchLog
package - First public release (meant as candidate for CRAN)
- stable version now with 100 % unit test code coverage (good release candidate for CRAN submission).
- travis CI builds now against R3.2, current release, old release and devel (dev version)
- Fixed
R CMD check
warning (Undocumented code objects: ‘build.log.output’) - Added github repository to travis CI (automatic building and testing)
- Added github repository codecov.io code coverage report (with badge image in the readme file)
- Improved code coverage (more unit tests)
- Fixed bug (issue #21): Silent.warnings (and messages) in
tryLog
andtryCatchLog
not working for bubbled-up warnings
- SEMANTICAL CHANGE: Renamed tryCatchLog argument "dump.errors.to.file" to "write.error.dump.file" to be more precise. THIS BREAKS THE OLD INTERFACE (FUNCTION SIGNATURE!)
- Fixed bug #18 (duplicated errors, warnings and messages in stacked
tryCatchLog
calls - Closes #20 (support for OS-specific newline characters in
build.log.output
) - Improved documentation of
last.tryCatch.result
- build.log.output: Added arguments for incl.timestamp + incl.severity as option to suppress redundant output if a logging framework is used
- Open issue: R CMD check results in one warning (false positive: missing documentation entries for
build.log.output
)
- Exported function
build.log.output
to create a single string suited as logging output fromlast.tryCatchLog.result
build.log.output
extended to support not only one but many log entry rows at once- R CMD check results: 0 errors | 1 warnings | 0 notes: Undocumented code objects: ‘build.log.output’ -> is a false positive (reason still unclear)
- SEMANTICAL CHANGE:
last.tryCatch.result
returns now a data.frame with separated logging items in columns - internal refactorings with more unit tests
- R CMD check results: 0 errors | 0 warnings | 0 notes
- SEMANTICAL CHANGES: Changed error handler semantics in
tryCatchLog
to be as close totryCatch
as possible - CHANGE OF SIGNATURE: Default value for error handler in
tryCatchLog
removed - Debugging error handler problem if used in RStudio (
tryCatchLog(log("a")
) - Renamed
last.tryCatchLog.log
tolast.tryCatchLog.result
(clearer und avoid R CMD CHECK problem)
- Added: Function
last.tryCatchLog.log
to retrieve the log output of the call oftryLog
ortryCatchLog
- Fixed bug #17: tryCatchLog throws: Error in value
[[3L]](cond)
: unused argument (cond) - NULL as value for error argument throws an explicit error (instead of an implicit deep down in R)
- Improved: Documentation
- Added: Parameter
silent.messages
totryCatchLog
andtryLog
- License: Added the copyright header to each R file to clarify the legal side
- Added: Parameter
silent.warnings
totryCatchLog
andtryLog
- Added: First working version of the
tryLog
function
- First stable version with the
tryCatchLog
function as "working horse"