Есть ли стандартный пакет ведения журнала для R? [закрытый]
Я ищу стандартный (если есть) пакет ведения журнала для R и некоторые примеры использования?
Я также не вижу ни одного из перечисленных пакетов:http://cran.r-project.org/web/packages/
7 ответов:
Я только что представил
logging
пакет в CRAN. он основан на некоторых частях более старой версии "бесполезного" пакета (Брайан Ли Юнг Роу).найти :
он имитирует стандартный python , но, пожалуйста, будьте осторожны, если вы решите использовать его. Я также попытался задокументировать его например, домашняя страница пакета на R-Forge указывает на пару возможных работе.
любая обратная связь будет читать с интересом!
на данный момент, есть еще нет родной библиотеки для регистрации. Но есть четыре из них доступны на кран:
1) лесозаготовки
- простой и log4j-как
- напоминает стандартную библиотеку Python
- не поддерживая с 2013 года, некоторые проблемы обнаружены верхний2) бесполезно.лесоруб (рекомендуется! Я также использую его)
- активно поддерживая
- поддерживает ошибку json ведение журнала
- подобная семантика для ведения журнала Python, а также log4j-like
- может быть сложно3) log4r
- легко и log4j-как
- не поддерживается с 2014 года4) luzlogr
Суперпростой - (открыть, записать, закрыть файл)
предлагаю
futile.logger
пакет, он реализует несколько иерархических регистраторов с форматированными выходными строками, и вы можете отправлять выходные данные разными способами. Оно также снабжает лесопогрузчики в-пакета естественно.
встроенные (пакетные базовые) функции - это "предупреждение", "Сообщение", "стоп". Эти функции поддерживают несколько языков. Если вы хотите войти в файл, возможно, вы могли бы использовать эти функции вместе с "раковиной".
поиск с помощью RSeek привел к бесполезности пакета с функциональностью регистратора.
Я начал проект logR в июне 2014 года. Первоначально это был регистратор процессов R с обработкой исключений, способный регистрироваться в базах данных csv и DBI/RODBDC/RJDBC.
Начиная с версии 2.1 я переключился на поддержку только PostgreSQL в качестве бэкэнда для журналов.
Если вы можете организовать одну таблицу в базе данных postgres, то вы можете легко использовать logR.вверх по течению РЕПО и зеркало github.
некоторые функции logR:
- ведение журнала транзакций: вставить журнал, вычислить выражение, обновить журнал
- войти в базу данных postgres
- записывает ошибки, предупреждения, сообщения, прерывает
- метаданные процесса регистрации: in / out nrow, гибкий список пользовательских метаданных
- время высокой точности с опционным microbenchmarkCore
- поддержка параллельной обработки
- иерархические журналы-идентификатор родительского журнала регистрации (новое в 2.1.5)
требует
RPostgreSQL
иdata.table
пакеты.использование:
# install logR install.packages("logR", repos = c("https://jangorecki.github.io/logR", "https://cran.rstudio.com")) # attach logR library(logR) # setup connection, default to env vars: `POSTGRES_DB`, etc. # if you have docker then: docker run --rm -p 127.0.0.1:5432:5432 -e POSTGRES_PASSWORD=postgres --name pg-logr postgres:9.5 logR_connect() # [1] TRUE # create logr table logR_schema() # make some logging and calls logR(1+2) # OK #[1] 3 logR(log(-1)) # warning #[1] NaN f = function() stop("an error") logR(r <- f()) # stop #NULL g = function(n) data.frame(a=sample(letters, n, TRUE)) logR(df <- g(4)) # out rows # a #1 u #2 c #3 w #4 p # try CTRL+C / 'stop' button to interrupt logR(Sys.sleep(15)) # wrapper to: dbReadTable(conn = getOption("logR.conn"), name = "logr") logR_dump() # logr_id logr_start expr status alert logr_end timing in_rows out_rows mail message cond_call cond_message #1: 1 2016-02-08 16:35:00.148 1 + 2 success FALSE 2016-02-08 16:35:00.157 0.000049163 NA NA FALSE NA NA NA #2: 2 2016-02-08 16:35:00.164 log(-1) warning TRUE 2016-02-08 16:35:00.171 0.000170801 NA NA FALSE NA log(-1) NaNs produced #3: 3 2016-02-08 16:35:00.180 r <- f() error TRUE 2016-02-08 16:35:00.187 0.000136896 NA NA FALSE NA f() an error #4: 4 2016-02-08 16:35:00.197 df <- g(4) success FALSE 2016-02-08 16:35:00.213 0.000696145 NA 4 FALSE NA NA NA #5: 5 2016-02-08 16:35:00.223 Sys.sleep(15) interrupt TRUE 2016-02-08 16:35:05.434 5.202319000 NA NA FALSE NA NA NA
дополнительные примеры можно найти в модульных тестах logR.
Я не знаю ни одного, поэтому я собирался выпустить оболочку для log4j в ближайшие несколько дней (я тестировал ее некоторое время). Я дам вам знать, когда он будет доступен.
более простая альтернатива по сравнению с
logging
иfutile.logger
:пакет log4r предназначен для обеспечения чистого, легкого объектно-ориентированного подхода к регистрации в R, основанного примерно на широко эмулируемом API log4j. В приведенном ниже примере кода показано, как регистратор используется на практике для печати выходных данных в простой текстовый файл журнала.