2013-10-20 43 views
0

我现在有一个相当大的日志文件,其中的线条看起来像这样使用Javascript - 从日志文件中删除/断开时间戳

2013-10-08 22:58:38 [INFO] [more info] Description or command 

我想知道如何把它在这一点上

2013-10-08 22:58:38 | [INFO] [more info] Description or command 
分裂该日期之后

右键,这样我可以把它们放到不同的风格

<div class="console-line"><span class="Datetime">2013-10-08 22:58:38</span>[INFO] [more info] Description or command</div 

我知道如何将文本拆分处该确切点,但问题是,并不是所有的线路实际上有一个时间戳

+0

你能说出其他线条的样子吗? –

回答

0

你可以“[”的第一个索引处分割线:

var index = line.indexOf('['); 
line = '<div...>' + line.substring(0, index) + '</span>' + 
      line.substring(index) + '</div>' 
+0

你忘了打开 ^^ 这应该适用于大多数情况,但如果一行中没有括号会发生什么? –

+0

这个怎么样? '如果(line.indexOf( '[')> -1){ 线= '' + line.substring(0, index) + '' + line.substring(index) + '

'} 否则{ 线= '' + line + '
';' –

0

使用正则表达式查找时间戳。

我写到:/^(\d{4}(?:\-\d{2}){2}\s\d{2}(?:\:\d{2}){2})(.*)/,它匹配两组:时间戳和行的其余部分。

Code here

+1

会发生在生产线中没有时间戳的事件是什么? –

+0

正则表达式不匹配。我的代码在不匹配时不会放置span标签。 – kelvinss

+0

你写的东西似乎很好,但我刚刚修改了整个控制台日志查看器。我需要在php而不是javascript中做到这一点,任何想法? –