On Tue, Oct 7, 2014 at 4:51 PM, Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
> On 07/10/2014 10:41 AM, DataK - B. THIEURMEL wrote: > >> OK, thank you for your answers. We are thus going to continue by >> analyzing these features >> > > The general outline would be this: > > 1. Call parse() on the whole file. This will catch any syntax errors. > If it parses okay, you'll get a vector of expressions to evaluate. > > 2. Evaluate each expression in sequence within withCallingHandlers(). > You need to decide what to do if you get an error(); source() would quit > the script at that point, so that's probably a good idea. Quick demo with "pander::evals": https://gist.github.com/daroczig/480af8ad766e96dd25f4 > > > Duncan Murdoch > > >> Le 2014-10-07 16:29, Duncan Murdoch a écrit : >> > On 07/10/2014 10:16 AM, DataK - B. THIEURMEL wrote: >> >> Thank. withCallingHandlers() and "pander::evals" seem to be very >> >> interesting, but little adapted to the analysis of one or several >> >> scripts R / of many lines of code. Our goal is one packages requiring >> >> no >> >> modifications of code R to be able to get back all the desired >> >> information. >> >> >> >> Is-there a hope in seeing R core team adding two options warn and >> >> message with the same features as options(error) ? Or if we try (and >> >> succeed) to code a patch for it, to see it integrating in R ? >> > >> > No, I don't think so. withCallingHandlers is all you need for your >> > purpose. >> > >> > Duncan Murdoch >> > >> >> >> >> I think that it would be very useful. >> >> >> >> Benoit >> >> >> >> Le 2014-10-07 14:38, Gergely Daróczi a écrit : >> >> > On Tue, Oct 7, 2014 at 2:21 PM, Duncan Murdoch >> >> > <murdoch.dun...@gmail.com> wrote: >> >> > >> >> >> On 07/10/2014, 7:04 AM, DataK - B. THIEURMEL wrote: >> >> >>> Hi, >> >> >>> >> >> >>> With the use of R in production, it is necessary to have a system >> >> >> of >> >> >>> logs effective, and light. >> >> >>> >> >> >>> Package exist as to futile.logger, but it require the additional >> >> >> coding >> >> >>> of logs. So it is thus impossible / very difficult to use it with >> >> >> all >> >> >>> package them used in the calculation >> >> >>> >> >> >>> Our idea is to develop one packages global, simple, who would >> >> >> allow to >> >> >>> identify all the errors, warning, message generated by the >> >> >> functions >> >> >>> stop(), warning() and message() stop as well as by signals and >> >> >>> internally code, with log levels configurable later by package, >> >> >>> functions... >> >> >>> >> >> >>> One way is to overwrite temporarily the functions stop(), >> >> >> warning() and >> >> >>> message() of base package, but I think is not a good thing, and >> >> >>> furthermore, we lose all signals and internally "message"... >> >> >>> >> >> >>> A good use of options(error) seems to do the perfect job, but >> >> >> only for >> >> >>> error... >> >> >>> >> >> >>> Our problem / question : >> >> >>> - At present, how it is possible to have the same features for >> >> >> messages >> >> >>> and warnings? (like options(errors)) (I don't find...) >> >> >>> - Would new options be possible in a near future R ? >> >> >>> - Have there better / other possibilities to handle all the >> >> >> warnings, >> >> >>> message of the way which we wish? >> >> >>> >> >> >> >> >> >> withCallingHandlers() lets you evaluate expressions with code >> >> >> to catch >> >> >> messages, warnings and errors. >> >> > >> >> > That's exactly what I'm using in "pander::evals" to capture all >> >> > error/warning/normal messages while evaluating an R command, and to >> >> > also capture the results (as R objects), stdout and the printed >> >> > version of the object -- which might be useful in a custom >> >> > environment. E.g. I use this function to evaluate all R chunks in >> >> > markdown document and also to store all R messages run at the >> >> > rapporter.net [2] API. Please let me know if anyone is interested, >> and >> >> > I will start cleaning up the related codebase and publish on GH -- >> >> > although "pander" and "evals" is already >> >> > there: https://github.com/Rapporter/pander [3] >> >> > >> >> > Quick demo: http://pastebin.com/jCUkgKim [4] >> >> > >> >> > >> >> >> I don't know if there's a way to evaluate every expression entered >> >> >> at >> >> >> the console within withCallingHandlers() for an effect like >> >> >> options(error=), but you can certainly write code to read a file >> >> >> and >> >> >> evaluate every expression in it within a withCallingHandlers() >> >> >> call. >> >> >> >> >> >> Duncan Murdoch >> >> >> >> >> >>> Hope is clear. Open to any suggestions. >> >> >>> >> >> >>> Thank you in advance >> >> >>> >> >> >> >> >> >> ______________________________________________ >> >> >> R-devel@r-project.org mailing list >> >> >> https://stat.ethz.ch/mailman/listinfo/r-devel [1] >> >> > >> >> > >> >> > >> >> > Links: >> >> > ------ >> >> > [1] https://stat.ethz.ch/mailman/listinfo/r-devel >> >> > [2] http://rapporter.net >> >> > [3] https://github.com/Rapporter/pander >> >> > [4] http://pastebin.com/jCUkgKim >> >> >> >> > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel