Rの標準の(ある場合)ロギングパッケージと、いくつかのサンプルの使用方法を探していますか?
リストされているパッケージの中に私も見当たりません: http://cran.r-project.org/web/packages/
現時点では、ロギング用のネイティブライブラリなしがまだあります。ただし、CRANで利用できるものは4つあります。
1)ロギング
-シンプルでlog4jのような
-標準のPythonライブラリに似ています(そのドキュメントをガイドラインとして使用します)
-著者は2010年に開始し、2012年までに「成熟」した
-WLOGSolutionsによって採用
-積極的に維持
2)futile.logger(推奨!私も使用しています)
-積極的に維持
-jsonエラーロギングをサポート
-Pythonのロギングと同様のセマンティクスおよびlog4jのような
-複雑かもしれません
3)log4r
-簡単でlog4jのような
-2014年以降維持されていない
4)luzlogr
-supersimple-(ファイルを開く、書き込む、閉じる)
futile.logger
パッケージ。フォーマットされた出力文字列で複数の階層ロガーを実装し、さまざまな方法で出力を送信できます。また、パッケージごとのロガーを自然に実装します。
組み込み(パッケージベース)関数は、「警告」、「メッセージ」、「停止」です。これらの関数は複数の言語をサポートしています。ファイルにログを記録する場合は、これらの関数を「シンク」と一緒に使用できます。
RSeekで検索すると、ロガー機能を備えたパッケージが無駄になります。
2014年6月にlogRプロジェクトを開始しました。当初は、csvおよびDBI/RODBDC/RJDBCデータベースにログを記録できる例外処理を備えたRプロセスロガーでした。
2.1バージョンから、ログのバックエンドとしてPostgreSQLのみをサポートするように切り替えました。
postgresデータベースに単一のテーブルを配置できる場合、logRを簡単に使用できます。
アップストリーム repo 、および github mirror 。
LogR機能の一部:
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のラッパーを数日のうちにリリースしようとしていました(私はしばらくの間それをテストしています)。利用可能になったときにお知らせします。