package org.codehaus.mojo.syslog; import org.apache.commons.lang.time.StopWatch; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.codehaus.mojo.syslog.handler.SyslogServerHandlerCounter; /** * Receive syslog messages and display receive statistics periodically * @goal receive-fast * @requiresProject false */ public class ReceiveCounterSyslogMojo extends AbstractReceiveSyslogMojo { /** * How often we want to show the receive rate at the console * @parameter expression="${displayRate}" default-value="5000"; */ private int displayRate; public void execute() throws MojoExecutionException, MojoFailureException { SyslogServerHandlerCounter eventHandler = new SyslogServerHandlerCounter(); this.createSyslogServer( eventHandler ); StopWatch sw = new StopWatch(); sw.start(); while ( true ) { try { Thread.sleep( displayRate ); long count = eventHandler.getCounter(); System.out.println( count + ":" + count*1000/sw.getTime() ); } catch ( Exception e ) { } } } }