Skip to content

Commit 63f46a5

Browse files
committed
Remove log4r dependency (replace with base R logging)
1 parent 038dd5d commit 63f46a5

8 files changed

Lines changed: 83 additions & 18 deletions

DESCRIPTION

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: MSstatsConvert
22
Title: Import Data from Various Mass Spectrometry Signal Processing Tools to MSstats Format
3-
Version: 1.23.2
3+
Version: 1.23.3
44
Authors@R: c(
55
person("Mateusz", "Staniak", email = "mtst@mstaniak.pl", role = "aut"),
66
person("Devon", "Kohler", email = "kohler.d@northeastern.edu", role = "aut"),
@@ -19,7 +19,6 @@ Depends:
1919
R (>= 4.0)
2020
Imports:
2121
data.table,
22-
log4r,
2322
methods,
2423
checkmate,
2524
utils,

NAMESPACE

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@ importFrom(data.table,melt)
4242
importFrom(data.table,rbindlist)
4343
importFrom(data.table,setnames)
4444
importFrom(data.table,uniqueN)
45-
importFrom(log4r,console_appender)
46-
importFrom(log4r,file_appender)
4745
importFrom(methods,new)
4846
importFrom(stats,na.omit)
4947
importFrom(utils,sessionInfo)

R/utils_logging.R

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#' log4r appender used not to write messages
1+
#' Appender used not to write messages
22
#'
33
#' A convenience function written to save time on checking if messages should
44
#' be printed or logs should be written to a file.
@@ -12,9 +12,41 @@
1212
}
1313

1414

15+
#' Format a log line as "LEVEL [timestamp] message"
16+
#'
17+
#' Message parts are joined with paste0, never sprintf, so a literal percent
18+
#' sign is written verbatim.
19+
#' @keywords internal
20+
.formatLogMessage = function(level, ...) {
21+
timestamp = format(Sys.time(), "%Y-%m-%d %H:%M:%S")
22+
level_field = formatC(level, width = 5L, flag = "-")
23+
paste0(level_field, " [", timestamp, "] ", paste0(..., collapse = ""), "\n")
24+
}
25+
26+
27+
#' File appender: returns a function(level, ...) that writes one line to a file
28+
#' @keywords internal
29+
.fileAppender = function(log_file_path, append = TRUE) {
30+
force(log_file_path)
31+
force(append)
32+
function(level, ...) {
33+
cat(.formatLogMessage(level, ...), file = log_file_path, sep = "",
34+
append = append)
35+
}
36+
}
37+
38+
39+
#' Console appender: returns a function(level, ...) that writes one line to console
40+
#' @keywords internal
41+
.consoleAppender = function() {
42+
function(level, ...) {
43+
cat(.formatLogMessage(level, ...))
44+
}
45+
}
46+
47+
1548
#' Set default logging object when package is loaded
1649
#' @param ... ignored
17-
#' @importFrom log4r file_appender console_appender
1850
#' @return none, sets options called MSstatsLog and MSstatsMsg
1951
#' @keywords internal
2052
.onLoad = function(...) {
@@ -24,11 +56,11 @@
2456
path = paste0("./MSstats_log_", gsub("[ :\\-]", "_", time_now), ".log")
2557

2658
if (is.null(logs)) {
27-
ms_logs = file_appender(path)
59+
ms_logs = .fileAppender(path)
2860
options(MSstatsLog = ms_logs)
2961
}
3062
if (is.null(msgs)) {
31-
ms_messages = console_appender()
63+
ms_messages = .consoleAppender()
3264
options(MSstatsMsg = ms_messages)
3365
}
3466
}
@@ -79,24 +111,23 @@ MSstatsLogsSettings = function(use_log_file = TRUE, append = FALSE,
79111

80112
if (use_log_file) {
81113
if (!is.null(log_file_path)) {
82-
file_appender = log4r::file_appender(log_file_path,
83-
append = append)
114+
file_logger = .fileAppender(log_file_path, append = append)
84115
} else {
85116
time_now = Sys.time()
86117
log_file_path = paste0(base, gsub("[ :\\-]", "_", time_now),
87118
".log")
88-
file_appender = log4r::file_appender(log_file_path)
119+
file_logger = .fileAppender(log_file_path)
89120
}
90121
} else {
91-
file_appender = .nullAppender
122+
file_logger = .nullAppender
92123
}
93-
124+
94125
if (verbose) {
95-
console_appender = console_appender()
126+
console_logger = .consoleAppender()
96127
} else {
97-
console_appender = .nullAppender
128+
console_logger = .nullAppender
98129
}
99-
loggers = list(file_appender, console_appender)
130+
loggers = list(file_logger, console_logger)
100131
names(loggers) = paste0(pkg_name, c("Log", "Msg"))
101132
do.call(options, loggers)
102133
invisible(TRUE)

man/dot-consoleAppender.Rd

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/dot-fileAppender.Rd

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/dot-formatLogMessage.Rd

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/dot-nullAppender.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vignettes/msstats_data_format.Rmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ to store fraction labels.
7575

7676
# Logging
7777

78-
`MSstatsConvert` allows for flexible logging based on the `log4r` package.
78+
`MSstatsConvert` allows for flexible logging.
7979
Information about preprocessing steps can be written to a file, to a console,
8080
to both or to neither.
8181
The `MSstatsLogsSettings` function helps manage log settings.

0 commit comments

Comments
 (0)