【问题标题】:Logging Json to STDOUT in Shiny Server在 Shiny 服务器中将 Json 记录到 STDOUT
【发布时间】:2018-07-29 13:29:11
【问题描述】:

Docker 容器可以在 AWS 上进行配置,以将出现在 stdout 中的任何内容发送到集中式日志记录服务。这是一个巧妙的技巧,如果您将适当的 JSON 打印到标准输出,那么您可以自动化大部分日志记录管道,而不必担心文件。

我很乐意在 docker 容器中使用 shiny-server。但是将某些东西打印到stdout 似乎相当棘手。服务器会自动将所有内容放在日志文件中,这正是我不希望它做的事情。闪亮服务器是否可以登录到标准输出而不是文件?

【问题讨论】:

    标签: r docker shiny


    【解决方案1】:

    不幸的是,目前还没有办法直接登录标准输出。但是,有一种方法可以监听文件系统更改并正确打印日志。

    您可以使用例如xtail(作为 debian 软件包提供)并监听服务器日志文件夹的更改。例如

    # start shiny server in detached mode
    exec shiny-server 2>&1 &
     # push the "real" application logs to stdout with xtail
    exec xtail /var/log/shiny-server/
    

    我还准备了这个作为pull request 到rocker/shiny Docker 图像。无论结果如何,您都可以在 docker 图像中使用它。

    【讨论】:

      【解决方案2】:

      这是 Shiny Server 1.5.13 支持的功能。您可以设置环境变量 SHINY_LOG_STDERR=1(例如,在 Dockerfile 中使用 ENV 语句)来启用此行为。

      https://docs.rstudio.com/shiny-server/#logging-to-standard-error

      【讨论】:

        猜你喜欢
        • 2014-03-26
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 2019-10-29
        • 1970-01-01
        • 1970-01-01
        • 2015-01-23
        • 1970-01-01
        相关资源
        最近更新 更多