【问题标题】:write/writeLines to multiple connections (e.g console output and log file)write/writeLines 到多个连接(例如控制台输出和日志文件)
【发布时间】:2017-09-07 21:06:50
【问题描述】:

我正在使用writeLines() 创建一个日志文件,但我希望在控制台中也能看到写入日志文件的文本。有没有办法定义将文本写入文件并同时在控制台中打印文本的连接?

类似:

con1 <- file("log.txt", "w")
con2 <- console()

writeLines("Lorem ipsum dolor sit amet", con=c(con1, con2))

close(con1)

到目前为止,我的解决方案需要一些额外的代码来做到这一点。

con1 <- file("log.txt", "w")

log.txt <- "Lorem ipsum dolor sit amet"

writeLines(log.txt)
writeLines(log.txt, con=con1)

close(con1)

我想知道是否有更简单的方法来做到这一点。

【问题讨论】:

    标签: r logfile


    【解决方案1】:

    您可以将split 参数用于sink()。例如,

    con1 <- file("log.txt", "w")
    sink(con1, split = TRUE)
    log.txt <- "Lorem ipsum dolor sit amet"
    writeLines(log.txt)
    sink()  # back to normal
    

    【讨论】:

    • 感谢这个想法。如果我不想将每个 writeLines() 都放在日志文件中,而是放在控制台中怎么办? con1 &lt;- file("log.txt", "w") sink(con1, split = TRUE) log.txt
    • 查看最后一行代码。您可以多次拨打sink(con1, split=TRUE)sink()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 2012-07-14
    相关资源
    最近更新 更多