library(ptspotter) #> Loading required package: this.path #> Loading required package: log4r #> #> Attaching package: 'log4r' #> The following object is masked from 'package:base': #> #> debug #> Loading required package: beepr #> Registered S3 method overwritten by 'pryr': #> method from #> print.bytes Rcpp
Logging is an excellent way to monitor the status of your data pipelines. Please consult the ‘log4r’ documentation for a comprehensive guide to its features.
In order to quickly get up and running with ‘log4r’, there are a few steps to take first. A directory and a logfile are required.
log_file_ops(dir_path = "logs", logfile_nm = "logfile") #> Logging directory successfully created at 'logs/' #> Logfile successfully created at 'logs/logfile.txt' list.files("logs") #>  "logfile.txt"
This will only need to be executed once. Running this line again will throw an error.
log_file_ops(dir_path = "logs", logfile_nm = "logfile") #> Error in log_file_ops(dir_path = "logs", logfile_nm = "logfile"): Logfile with name matching logfile_nm found. Have you previously run #> `ptspotter::log_enable()`?
Next we need to create the required objects within R to be able to write to the logfile we created. Namely, a file appender and logger objects are needed. This needs to be executed every time you run your programme, so include it within your script.
log_enable(logfile_loc = "logs/logfile.txt") #> File appender successfully assigned to file_app #> Logger object sucessfully assigned to my_logger
We can now use the logging functions in ‘log4r’ to begin writing messages to the logfile.
::info(logger = my_logger, message = "Some info") log4r::warn(logger = my_logger, message = "Some warning") log4r::error(logger = my_logger, message = "Some error") log4r # Check the messages are being logged readLines("logs/logfile.txt") #>  "INFO [2021-05-03 06:51:56] Some info" #>  "WARN [2021-05-03 06:51:56] Some warning" #>  "ERROR [2021-05-03 06:51:56] Some error"