variedades tipos studio source sintaxis problemas parámetros para palabras oraciones open opciones nivel logs linguisticos linguisticas libros lenguaje lengua importancia herramienta gestion funciones for estandar español ejemplos dummies comandos cadenas analizar analizador logging r

logging - studio - tipos de problemas linguisticos



¿Hay algún paquete de registro estándar para R? (7)

Estoy buscando el paquete de registro estándar (si corresponde) para R, y algún uso de muestra?

Tampoco veo ninguno entre los paquetes enumerados: http://cran.r-project.org/web/packages/


Empecé el proyecto logR en junio de 2014. Inicialmente era un registrador de procesos R con manejo de excepciones capaz de iniciar sesión en las bases de datos csv y DBI / RODBDC / RJDBC.
A partir de la versión 2.1, cambié para admitir solo PostgreSQL como back-end para registros.
Si puede organizar una sola tabla en la base de datos postgres, entonces puede usar logR fácilmente.

logR upstream y logR .

Algunas de las características de logR:

  • registro transaccional: insertar registro, evaluar expresión, registro de actualización
  • iniciar sesión en la base de datos postgres
  • registra errores, advertencias, mensajes, interrupciones
  • metadatos del proceso de registro: in / out nrow, lista flexible de metadatos personalizados
  • sincronización de alta precisión con microbenchmarkCore opcionalCore
  • soporte de procesamiento paralelo
  • registros jerárquicos: inicio de sesión con el ID del registro principal (nuevo en 2.1.5)

Requiere paquetes RPostgreSQL y data.table .

Uso:

# 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

Se pueden encontrar más ejemplos en las pruebas de unidad logR.


Las funciones incorporadas (base del paquete) son "advertencia", "mensaje", "detener". Estas funciones admiten varios idiomas. Si desea iniciar sesión en un archivo, tal vez podría utilizar estas funciones junto con "sumidero".

La búsqueda con RSeek hizo que el paquete fuera inútil con la funcionalidad de un registrador.


No conozco ninguno, así que estaba a punto de lanzar un contenedor para log4j en los próximos días (lo he estado probando por un tiempo). Te avisaré cuando esté disponible.


Por el momento, todavía no hay una biblioteca nativa para iniciar sesión. Pero hay cuatro de ellos disponibles en Cran:

1) registro
- simple y log4j-like
- se asemeja a la biblioteca standart de Python
- no se mantiene desde 2013, algunos problemas detectados superior

2) futile.logger (¡lo recomiendo! También lo estoy usando)
- mantener activamente
- admite el registro de errores json
- Semántica similar al registro de Python, así como log4j-like
- puede ser complicado

3) log4r
- fácil y log4j-like
- no se mantiene desde 2014

4) Luzlogr
supersimple - (abrir, escribir, cerrar archivo)


Sugiero el paquete futile.logger , implementa múltiples registradores jerárquicos con cadenas de salida formateadas y puede enviar la salida de diferentes maneras. También implementa loggers por paquete de forma natural.


Una alternativa más simple en comparación con el logging y futile.logger :

log4r ( cran , github )

El paquete log4r está destinado a proporcionar un enfoque limpio y ligero orientado a objetos para iniciar sesión en R, basado aproximadamente en la API log4j ampliamente emulada. El siguiente código de ejemplo muestra cómo el registrador se usa en la práctica para imprimir resultados en un archivo de registro de texto simple.


Acabo de enviar un paquete de logging a CRAN. se basa en algunas partes de una versión anterior del paquete ''inútil'' (por Brian Lee Yung Rowe).

Usted encuentra el paquete de logging :

Simula el paquete de logging Python estándar, pero tenga cuidado si decide usarlo. También intenté documentarlo con el ejemplo, la página de inicio del paquete en R-Forge apunta a un par de posibles sesiones de uso .

¡Cualquier comentario será leído con interés!