通过Grunt获取Django runserver dev日志记录输出

时间:2014-02-03 06:36:18

标签: django gruntjs

我(尝试)学习在Django上开发,并且来自Node背景想让Grunt保持在我的工作流程中。我使用手写笔和coffeescript,并使用Grunt为我观看和预编译文件,以及其他小任务。

为了保持紧凑,我已经包含了grunt-shell-spawn,并使用它来运行服务器:

python manage.py runserver 0.0.0.0:8000

当我从命令行单独运行此命令时,我会完全记录请求,以及(更重要的是)print命令的输出。当我使用grunt shell来处理这个问题时,服务器加载并运行得很好,但我没有记录。

如果有办法让grunt / python输出开发日志记录,正常情况下,通过grunt运行服务器?

shell的完整gruntfile是:

shell: {
  django: {
    command: 'python manage.py runserver 0.0.0.0:8000',
    options: {
      stdout: true,
      async: true
    }
  }
},

然后我从并发调用它:

concurrent: {
  dev: {
    tasks: ['shell:django', 'watch'],
    options: {
      logConcurrentOutput: true
    }
  }
}

谢谢!

1 个答案:

答案 0 :(得分:1)

我假设你想要这些东西, Django服务器日志列出了HTTP请求和django logger报告。我们的应用程序示例:

  

[02/19/2014 22:34:30]错误:详情:[客户]:Mozilla [用户名]:meanjim [Id]:8278

     

[19 / Feb / 2014 22:34:30]“POST / api / logcabin / HTTP / 1.1”200 16

     

[19 / Feb / 2014 22:34:30]“GET /data/get_lesson_plan.json/ HTTP / 1.1”200 1366

所以你要做的就是将以下属性添加到你已经拥有的shell中的options对象中:django。

options: {
    stdout: true,
    stdin: true,
    stderr: true
}

快乐的狩猎朋友。