Bug 165188 logging per report
Setting up a dedicated (birt) report server, which serves all our web apps, leads to a logging desaster. Birtegine logs all messages to one file. There's no info which rptdesign caused the logmessage or who (e.g. user) caused the logmessage. Retrieving who/which rpt caused some logmessage is not possible! There are two possible solutions: (a) prefixing each logmessage with a userdefineable message (task.setLogprefix("myprefix")) (b) set an outputstream for each task (task.setLoggingOutputStream(outputstream)) to split the huge logfile to many small pieces.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/impl/EngineTask.java
return new ParameterVisitor( ) {
			boolean visitScalarParameter( ScalarParameterHandle param,
					Object value )
			{
				return validateScalarParameter( param );
			}
			boolean visitParameterGroup( ParameterGroupHandle group,
					Object value )
			{
				return visitParametersInGroup( group, value );
			}
		}.visit( (ReportDesignHandle) runnable.getDesignHandle( ), null );
	}
	protected void loggerParamters( )
	{
		if ( log.isLoggable( Level.FINE ) )
		{
			final StringBuffer buffer = new StringBuffer( );
			
			new ParameterVisitor( ) {
				boolean visitScalarParameter( ScalarParameterHandle param,
						Object value )
				{
					String paramName = param.getName( );
					Object paramValue = runValues.get( paramName );
					buffer.append( paramName );
					buffer.append( ":" );
					buffer.append( paramValue );
					buffer.append( "\n" );
					return validateScalarParameter( param );