2016-01-07 120 views

回答

1

Coffeescript将被编译为javascript,然后发送并在浏览器中运行,因此它将无法访问服务器中的日志。 为了可能,您需要在要发送消息的服务器中创建一个API(例如使用像素,AJAX或WebSockets)并在其中写入日志逻辑。

Coffescript:

log = (msg) -> 
    $.post '/tracker', { data: msg } 

的routes.rb

post '/tracker' => 'logger#create' 

loggers_controller.rb

class LoggersController < ApplicationController 
    def create 
    logger.debug params.data 
    render :nothing 
    end 
end 

德e这个解决方案作为一个概念,如果你只是复制和粘贴,它可能无法马上工作。另外,如果您在生产中使用这样的解决方案时要小心,恶意的人可能会通过发送数据来滥用它,直到您的磁盘已满,此时应用程序可能会开始出现故障。 (当然有其他方法)

+0

所以,它会像$ .post('/ route',“一些文字写入”)?我不太了解咖啡,JavaScript或Ajax – EastsideDeveloper

+0

这是正确的,我已经用咖啡脚本的示例编辑了答案,但是您处于正确的轨道。您可以使用jQuery发布数据,然后在Rails控制器中使用''logger.debug params.data''(或者您更喜欢) –

+0

您是否认为我定义了要调试的日志错误级别,这可以用于生产呢? – EastsideDeveloper