@@ -253,6 +253,8 @@ Logger <- R6::R6Class(
253253 timestamp = Sys.time(),
254254 caller = get_caller(- 7 )
255255 ){
256+ if (identical(get(" .threshold" , envir = private ), 0L )) return (NULL )
257+
256258 tryCatch({
257259 # preconditions
258260 level <- standardize_log_levels(level )
@@ -338,6 +340,8 @@ Logger <- R6::R6Class(
338340
339341
340342 fatal = function (msg , ... , caller = get_caller(- 8L )){
343+ if (isTRUE(get(" .threshold" , envir = private ) < 100L )) return (NULL )
344+
341345 get(" log" , envir = self )(
342346 msg = msg ,
343347 caller = caller ,
@@ -348,6 +352,8 @@ Logger <- R6::R6Class(
348352 },
349353
350354 error = function (msg , ... , caller = get_caller(- 8L )){
355+ if (isTRUE(get(" .threshold" , envir = private ) < 200L )) return (NULL )
356+
351357 get(" log" , envir = self )(
352358 msg = msg ,
353359 caller = caller ,
@@ -358,6 +364,8 @@ Logger <- R6::R6Class(
358364 },
359365
360366 warn = function (msg , ... , caller = get_caller(- 8L )){
367+ if (isTRUE(get(" .threshold" , envir = private ) < 300L )) return (NULL )
368+
361369 get(" log" , envir = self )(
362370 msg = msg ,
363371 caller = caller ,
@@ -368,6 +376,8 @@ Logger <- R6::R6Class(
368376 },
369377
370378 info = function (msg , ... , caller = get_caller(- 8L )){
379+ if (isTRUE(get(" .threshold" , envir = private ) < 400L )) return (NULL )
380+
371381 get(" log" , envir = self )(
372382 msg = msg ,
373383 caller = caller ,
@@ -378,6 +388,8 @@ Logger <- R6::R6Class(
378388 },
379389
380390 debug = function (msg , ... , caller = get_caller(- 8L )){
391+ if (isTRUE(get(" .threshold" , envir = private ) < 500L )) return (NULL )
392+
381393 get(" log" , envir = self )(
382394 msg = msg ,
383395 caller = caller ,
@@ -388,6 +400,8 @@ Logger <- R6::R6Class(
388400 },
389401
390402 trace = function (msg , ... , caller = get_caller(- 8L )){
403+ if (isTRUE(get(" .threshold" , envir = private ) < 600L )) return (NULL )
404+
391405 get(" log" , envir = self )(
392406 msg = msg ,
393407 caller = caller ,
@@ -469,10 +483,6 @@ Logger <- R6::R6Class(
469483
470484 set_threshold = function (level ){
471485 level <- standardize_threshold(level )
472-
473- private $ unsuspend()
474- private $ suspend(level , inclusive = FALSE )
475-
476486 private $ .threshold <- as.integer(level )
477487 invisible (self )
478488 },
@@ -549,82 +559,14 @@ Logger <- R6::R6Class(
549559 # private -----------------------------------------------------------------
550560 private = list (
551561
552- # +- methods --------------------------------------------------------------
553- suspend = function (
554- threshold = 0 ,
555- inclusive = TRUE
556- ){
557- assert(is_scalar_bool(inclusive ))
558- threshold <- standardize_threshold(threshold )
559-
560- if (is.na(threshold ))
561- threshold <- Inf
562-
563- if (inclusive ){
564- ll <- private $ .log_levels [private $ .log_levels > = threshold ]
565- } else {
566- ll <- private $ .log_levels [private $ .log_levels > threshold ]
567- }
568-
569- for (i in seq_along(ll )){
570- nm <- names(ll )[[i ]]
571- lvl <- ll [[i ]]
572- private $ suspended_loggers [[nm ]] <- self [[nm ]]
573- unlockBinding(nm , env = self )
574- self [[nm ]] <- function (... ) NULL
575- lockBinding(nm , env = self )
576- }
577- invisible (self )
578- },
579-
580-
581- unsuspend = function (
582- threshold = 0 ,
583- inclusive = TRUE
584- ){
585- assert(is_scalar_bool(inclusive ))
586- threshold <- standardize_threshold(threshold )
587- if (is.na(threshold ))
588- threshold <- Inf
589-
590- if (inclusive ){
591- ll <- private $ .log_levels [private $ .log_levels > = threshold ]
592- } else {
593- ll <- private $ .log_levels [private $ .log_levels > threshold ]
594- }
595-
596- for (i in seq_along(private $ suspended_loggers )){
597- nm <- names(private $ suspended_loggers )[[i ]]
598- unlockBinding(nm , env = self )
599- self [[nm ]] <- private $ suspended_loggers [[nm ]]
600- lockBinding(nm , env = self )
601- }
602- private $ suspended_loggers <- list ()
603- invisible (self )
604- },
605-
606-
607562 # +- fields ---------------------------------------------------------------
608563 .propagate = NULL ,
609564 .exception_handler = NULL ,
610565 .name = NULL ,
611566 .parent = NULL ,
612567 .appenders = NULL ,
613568 .threshold = NA_integer_ ,
614- .last_event = NULL ,
615-
616- # intentionaly hardcoded and not using the global options. this is used to
617- # track which logging functions are available for the logger. used by
618- # suspend/unsuspend
619- .log_levels = as_log_levels(c(
620- " fatal" = 100L ,
621- " error" = 200L ,
622- " warn" = 300L ,
623- " info" = 400L ,
624- " debug" = 500L ,
625- " trace" = 600L
626- )),
627- suspended_loggers = list ()
569+ .last_event = NULL
628570 )
629571)
630572
@@ -642,6 +584,8 @@ LoggerGlue <- R6::R6Class(
642584 public = list (
643585
644586 fatal = function (... , caller = get_caller(- 8L ), .envir = parent.frame()){
587+ if (isTRUE(get(" .threshold" , envir = private ) < 100L )) return (NULL )
588+
645589 force(.envir )
646590 get(" log" , envir = self )(
647591 ... ,
@@ -653,6 +597,8 @@ LoggerGlue <- R6::R6Class(
653597 },
654598
655599 error = function (... , caller = get_caller(- 8L ), .envir = parent.frame()){
600+ if (isTRUE(get(" .threshold" , envir = private ) < 200L )) return (NULL )
601+
656602 get(" log" , envir = self )(
657603 ... ,
658604 caller = caller ,
@@ -663,6 +609,8 @@ LoggerGlue <- R6::R6Class(
663609 },
664610
665611 warn = function (... , caller = get_caller(- 8L ), .envir = parent.frame()){
612+ if (isTRUE(get(" .threshold" , envir = private ) < 300L )) return (NULL )
613+
666614 get(" log" , envir = self )(
667615 ... ,
668616 caller = caller ,
@@ -673,6 +621,8 @@ LoggerGlue <- R6::R6Class(
673621 },
674622
675623 info = function (... , caller = get_caller(- 8L ), .envir = parent.frame()){
624+ if (isTRUE(get(" .threshold" , envir = private ) < 400L )) return (NULL )
625+
676626 get(" log" , envir = self )(
677627 ... ,
678628 caller = caller ,
@@ -683,6 +633,8 @@ LoggerGlue <- R6::R6Class(
683633 },
684634
685635 debug = function (... , caller = get_caller(- 8L ), .envir = parent.frame()){
636+ if (isTRUE(get(" .threshold" , envir = private ) < 500L )) return (NULL )
637+
686638 force(.envir )
687639 get(" log" , envir = self )(
688640 ... ,
@@ -694,6 +646,8 @@ LoggerGlue <- R6::R6Class(
694646 },
695647
696648 trace = function (... , caller = get_caller(- 8L ), .envir = parent.frame()){
649+ if (isTRUE(get(" .threshold" , envir = private ) < 600L )) return (NULL )
650+
697651 force(.envir )
698652 get(" log" , envir = self )(
699653 ... ,
@@ -711,6 +665,8 @@ LoggerGlue <- R6::R6Class(
711665 caller = get_caller(- 7 ),
712666 .envir = parent.frame()
713667 ){
668+ if (identical(get(" .threshold" , envir = private ), 0L )) return (NULL )
669+
714670 force(.envir )
715671 tryCatch({
716672 # preconditions
0 commit comments