R에 대한 표준 로깅 패키지가 있습니까?
R에 대한 표준 (있는 경우) 로깅 패키지와 일부 샘플 사용을 찾고 있습니까?
또한 나열된 패키지 중 아무것도 표시되지 않습니다. http://cran.r-project.org/web/packages/
방금 loggingCRAN에 패키지를 제출했습니다 . 이는 이전 버전의 '무효 한'패키지 (Brian Lee Yung Rowe 저)의 일부를 기반으로합니다.
logging패키지를 찾습니다 .
표준 파이썬 logging패키지를 모방 하지만 사용하기로 결정한 경우주의하십시오. 또한 R-Forge의 패키지 홈 페이지는 몇 가지 가능한 사용 세션을 가리 킵니다 .
모든 피드백은 관심을 가지고 읽힐 것입니다!
현재 로깅을위한 네이티브 라이브러리 는 아직 없습니다 . 그러나 CRAN에서 사용할 수있는 네 가지가 있습니다.
1) 로깅
-단순 및 log4j와 유사
-표준 Python 라이브러리와 유사 (해당 문서를 지침으로 사용)
-작성자가 2010 년에 시작, 2012 년에 '성숙'
-WLOGSolutions에서 채택
-적극적으로 유지
2) futile.logger (권장! 나도 사용하고 있음)
-적극적으로 유지 관리 -json
오류 로깅 지원
-Python의 로깅 및 log4j와 유사한 의미
-복잡 할 수 있음
3) log4r-
쉽고 log4j와 유사
-2014 년부터 유지되지 않음
4) luzlogr-
초간단-(파일 열기, 쓰기, 닫기)
futile.logger패키지를 제안합니다. 형식화 된 출력 문자열로 여러 계층 적 로거를 구현하고 출력을 다른 방식으로 보낼 수 있습니다. 또한 패키지 당 로거를 자연스럽게 구현합니다.
내장 (패키지 기반) 기능은 "경고", "메시지", "중지"입니다. 이러한 기능은 여러 언어를 지원합니다. 파일에 기록하려면 "sink"와 함께 이러한 기능을 사용할 수 있습니다.
RSeek로 검색하면 로거 기능으로 패키지가 무용지물이되었습니다.
저는 2014 년 6 월에 logR 프로젝트를 시작했습니다. 처음에는 csv 및 DBI / RODBDC / RJDBC 데이터베이스에 기록 할 수있는 예외 처리 기능이있는 R 프로세스 로거였습니다.
2.1 버전부터는 로그 백엔드로 PostgreSQL 만 지원하도록 전환했습니다.
postgres 데이터베이스에서 단일 테이블을 정렬 할 수 있다면 logR을 쉽게 사용할 수 있습니다.
일부 logR 기능 :
- 트랜잭션 로깅 : 로그 삽입, 표현식 평가, 로그 업데이트
- postgres 데이터베이스에 기록
- 오류, 경고, 메시지, 인터럽트 기록
- 로그 프로세스 메타 데이터 : 인 / 아웃 nrow, 사용자 지정 메타 데이터의 유연한 목록
- microbenchmarkCore 옵션을 사용한 고정밀 타이밍
- 병렬 처리 지원
- 계층 적 로그-상위 로그 ID 로깅 (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 패키지는 광범위하게 에뮬레이션 된 log4j API를 기반으로 R 로그인에 대한 깨끗하고 가벼운 객체 지향 접근 방식을 제공하기위한 것입니다. 아래 예제 코드는 로거가 실제로 출력을 간단한 일반 텍스트 로그 파일로 인쇄하는 데 사용되는 방법을 보여줍니다.
참고 URL : https://stackoverflow.com/questions/1928332/is-there-any-standard-logging-package-for-r
'Program Club' 카테고리의 다른 글
| jQuery .get 오류 응답 기능? (0) | 2020.11.12 |
|---|---|
| 스칼라에서 두 배열을 어떻게 비교합니까? (0) | 2020.11.12 |
| 간단한 PHP 함수에서 "종속성 주입"을 어떻게 사용할 수 있습니까? (0) | 2020.11.11 |
| 이전 활동을 완료하고 새 활동을 시작하거나 그 반대의 경우도 마찬가지입니다. (0) | 2020.11.11 |
| 조각을 사용하는 이유는 무엇입니까? (0) | 2020.11.11 |