当我运行Play命令时,日志在终端上会清晰地显示颜色,但是当我在Jenkins中构建应用程序时,那里的日志会显示颜色代码,使它们难以阅读。
命令行日志:
[info] ApplicationSpec [info] Application should [info] + send 404 on a bad request [info] x render the index page [error] '401' is not equal to '200' (ApplicationSpec.scala:25) [info] Total for specification ApplicationSpec [info] Finished in 134 ms [info] 2 examples, 1 failure, 0 error [error] Failed: Total 3, Failed 2, Errors 0, Passed 1 [error] Failed tests: [error] ApplicationSpec [error] IntegrationSpec [error] (test:test) sbt.TestsFailedException: Tests unsuccessful [error] Total time: 23 s, completed Mar 26, 2014 10:00:34 AM
詹金斯日志:
[0m[[0minfo[0m] [0mApplicationSpec[0m [0m[[0minfo[0m] [0mApplication should[0m [0m[[0minfo[0m] [0m[32m+[0m send 404 on a bad request[0m [0m[[0minfo[0m] [0m[33mx[0m render the index page[0m [0m[[31merror[0m] [0m '401' is not equal to '200' (ApplicationSpec.scala:25)[0m [0m[[0minfo[0m] [0mTotal for specification ApplicationSpec[0m [0m[[0minfo[0m] [0m[34mFinished in 229 ms[0m[0m [0m[[0minfo[0m] [0m[34m2 examples, 1 failure, 0 error[0m[0m [0m[[31merror[0m] [0mFailed: Total 3, Failed 2, Errors 0, Passed 1[0m [0m[[31merror[0m] [0mFailed tests:[0m [0m[[31merror[0m] [0m ApplicationSpec[0m [0m[[31merror[0m] [0m IntegrationSpec[0m [0m[[31merror[0m] [0m(test:[31mtest[0m) sbt.TestsFailedException: Tests unsuccessful[0m [0m[[31merror[0m] [0mTotal time: 6 s, completed Mar 25, 2014 2:28:01 PM[0m
如您所见,Jenkins输出仍然具有相同的内容,但是颜色代码使它非常嘈杂,以至于很难弄清楚到底发生了什么。
我发现有关如何为SBT工具关闭颜色代码的信息很少,但是play当通过Jenkins运行构建时,我无法弄清楚如何通过命令将其传递给我。
play
事实上我也很好奇(有同样的问题),所以检查了您发送的建议:)
答案是:
play -Dsbt.log.noformat=true dist
或(如应将更多参数像非默认端口号一样发送到控制台),通常:
play -Dsbt.log.noformat=true "~run 9123"