Limit log to 5000 lines

This commit is contained in:
Piotr Sarnacki 2013-02-13 04:03:02 +01:00
parent c1674e9d76
commit 3862dd163d
5 changed files with 69 additions and 45 deletions

View File

@ -17,6 +17,10 @@ require 'travis/model'
@addObserver 'body', @fetchWorker
@fetchWorker()
id: (->
@get('job.id')
).property('job.id')
clear: ->
@set('body', '')
@incrementProperty('version')

View File

@ -87,7 +87,7 @@
target.closest('.fold').toggleClass('open')
if target.is('a') && target.attr('id').match(/^L\d+$/)
if target.is('a') && target.attr('id') && target.attr('id').match(/^L\d+$/)
path = target.attr 'href'
Travis.app.get('router').route(path)
event.stopPropagation()
@ -173,6 +173,7 @@
url = @get('logUrl')
leftOut = []
cut = false
fragment = document.createDocumentFragment()
# TODO: refactor this loop, it's getting messy
@ -180,6 +181,9 @@
line = payload.content
number = payload.number
if payload.logWasCut
cut = true
else
unless payload.append
pathWithNumber = "#{url}#L#{number}"
p = document.createElement('p')
@ -230,4 +234,7 @@
fold.removeClass('show-first-line')
this.$('#log')[0].appendChild fragment
if cut
url = Travis.Urls.plainTextLog(@get('log.id'))
this.$("#log").append $("<p class=\"cut\">Log was too long to display. Download the <a href=\"#{url}\">the raw version</a> to get the full log.</p>")

View File

@ -9,6 +9,7 @@ FOLDS = [
init: ->
@set 'folds', []
@set 'line', 1
@set 'lineNumber', 1
@initial = true
for fold in FOLDS
@ -16,6 +17,7 @@ FOLDS = [
append: (lines) ->
return unless lines
return if @get('lineNumber') > 5000
log = @join lines
log = @escape log
@ -26,8 +28,6 @@ FOLDS = [
index = 0
currentFold = @currentFold
@set 'lineNumber', 1 unless @get 'lineNumber'
result = []
for line in lines
@ -88,6 +88,10 @@ FOLDS = [
if currentFold
@set 'foldContinuation', true
if @get('lineNumber') + index >= 5000
result.pushObject logWasCut: true
break
if result.length > 0
if currentFold
@currentFold = currentFold

View File

@ -3,6 +3,7 @@ $font-size-big: 15px
$font-size-normal: 13px
$font-size-small: 12px
$font-size-log: 12px
$font-size-log-bigger: 13px
$font-size-smaller: 12px
$font-size-tiny: 11px
$font-size-tiniest: 10px

View File

@ -18,6 +18,14 @@ pre#log
@include border-radius(4px)
overflow-x: scroll
p.cut
margin-top: 15px
&:hover
background-color: transparent
&.highlight
background-color: transparent
a
margin: 0
p
padding: 0 15px 0 50px
margin: 0