/
GenerateLogReport.as
executable file
·58 lines (51 loc) · 2.09 KB
/
GenerateLogReport.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/** @author: Simon Bailey simon@newtriks.com */
package com.newtriks.logging.parsers {
import com.newtriks.logging.values.Log;
import mx.formatters.DateFormatter;
import mx.logging.LogEvent;
import mx.utils.StringUtil;
public class GenerateLogReport {
public static function getUserID(logs:Vector.<Log>):String {
var i:int;
var length:int = logs.length;
var currentRecord:Log;
var log_id:String = "";
var message:String = "";
for (i = 0; i < length; i++) {
currentRecord = logs[i] as Log;
message = currentRecord.body;
if (message.indexOf("log_id") >= 0) {
log_id = message.slice(message.lastIndexOf(":") + 1, message.length);
}
}
return log_id;
}
public static function generateReport(logs:Vector.<Log>):String {
var i:int;
var length:int = logs.length - 1;
var currentLog:Log;
var currentRecordText:String = "";
var logText:String = linePartition.concat("Start of Beaver log report", linePartition);
for (i = length; i >= 0; i--) {
currentLog = logs[i] as Log;
currentRecordText = formatCurrentRecord(currentLog);
logText = logText.concat(currentRecordText, linePartition);
}
logText = logText.concat("\n\nEnd of Beaver log report [generated at ".concat(format(new Date(), "H:NN:SS MM/DD/YY"), "]", linePartition));
return logText;
}
protected static function formatCurrentRecord(record:Log):String {
var recordText:String = StringUtil.substitute("Date: {0} >> \nLevel: {1} >> \nMessage: {2}", format(record.dateTimeStamp, "H:NN:SS MM/DD/YY"), LogEvent.getLevelString(record.level), record.body);
return recordText;
}
public static function format(obj_Date:Object, str_dateFormat:String):String {
var f:DateFormatter = new DateFormatter();
f.formatString = str_dateFormat;
return f.format(obj_Date);
}
public static function get linePartition():String
{
return "\n\n===========================\n\n";
}
}
}