ColorizeTail

Tail avec coloration en PHP.

<?php
 
// -----------------------
// Test 1, colorize.php
// Colorisation de stdin
// Bol
//
// exemple
// tail  -f mylog.log | php -q colorize.php
//
// auteur: Bol <Bol.ML@wanadoo.fr>
 
/* ======== Code ANSI ========
0       Reset all attributes
1       Bright
2       Dim
4       Underscore
5       Blink
7       Reverse
8       Hidden
 
       Foreground Colors
30      Black
31      Red
32      Green
33      Yellow
34      Blue
35      Magenta
36      Cyan
37      White
 
       Background Colors
40      Black
41      Red
42      Green
43      Yellow
44      Blue
45      Magenta
46      Cyan
47      White
============================ */
 
// regexp d'exclusion, mettre $exclude=null si aucun
$exclude = array(
                 '/GET \/images/i'
              );
 
// regexp de colorisation, voir codes ANSI
$color = array(
                '/GET \/index/' => '31',
                '/GET \/page.+id=[0-9]/U' => '37;41'
            );
 
$reg = array();
$rep = array();
 
foreach( $color as $k => $v )
{
 $reg[] = $k;
 $rep[] = "\x1B[{$v}m\\0\x1B[0m";
}
 
$in = fopen( 'php://stdin', 'r' );
$ex = false;
while( !feof( $in ) )
{
$l = fgets( $in, 4096 );
if( $exclude )
  foreach( $exclude as $ex_reg )
    if( $ex = preg_match( $ex_reg, $l ) )
       break;
if( !$ex )
  echo preg_replace( $reg, $rep, $l );
$ex = false;
}
 
fclose( $in );
 
?>
informatique/system_admin/colorizetail.txt · Dernière modification: 19/05/2012 00:18 (modification externe)
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC0 1.0 Universal
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki