Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
New colorizer.
[simgrid.git] / tools / MSG_visualization / colorize.pl
1 #!/usr/bin/perl
2
3 $col_white    = "\033[00m";
4 $col_black    = "\033[30m";
5 $col_red      = "\033[31m";
6 $col_green    = "\033[32m";
7 $col_yellow   = "\033[33m";
8 $col_blue     = "\033[34m";
9 $col_purple   = "\033[35m";
10 $col_cyan     = "\033[36m";
11 $col_ltgray   = "\033[37m";
12 $col_darkgray = "\033[30m";
13
14 $col_norm       = $col_white;
15 $col_background = "\033[07m";
16 $col_brighten   = "\033[01m";
17 $col_underline  = "\033[04m";
18 $col_blink      = "\033[05m";
19
20 # Customize colors here...
21 #
22 $col_default = $col_ltgray;
23 my (@coltab) = (
24     $col_green,                    $col_yellow,
25     $col_purple,                   $col_cyan,
26     $col_red,                      $col_blue,
27     $col_background . $col_green,
28     $col_background . $col_yellow, $col_background . $col_purple,
29     $col_background . $col_cyan,   $col_background . $col_red,
30     $col_background . $col_blue,   $col_background . $col_magenta,
31 );
32
33 while (<>) {
34     $orgline = $thisline = $_;
35
36     if ( $thisline =~ /^\[(\w+):(\w+):\((\d+\)) ([0-9\.]*)\] ([^\[]*) \[([^\[]*)\] (.*)$/ ) {
37         $host=$1;
38         $procname=$2;
39         $pid=$3;
40         $date=$4;
41         $location=$5;
42         $xbt_channel=$6;
43         $message=$7;
44
45         print $col_norm;
46         printf "[% 10.3f]",$date;
47         print $coltab[($pid-1) % scalar(@coltab)];
48         printf "[%10s:%-10s]",$host,$procname;
49         print " $message";
50         print $col_norm."\n";
51         next;
52     }
53     print $col_default. $orgline;
54 }
55
56 print $col_norm;