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
* @param engine
	 *            reference to report engine
	 * @param appContext
	 *            a user-defined object that capsulates the context for running
	 *            a task. The context object is passed to callback functions
	 *            (i.e., functions in image handlers, action handlers, etc. )
	 *            that are written by those who embeds engine in their
	 *            applications
	 */
	protected EngineTask( IReportEngine engine, IReportRunnable runnable )
	{
		taskID = id++;
		this.engine = engine;
		this.log = engine.getLogger( );
		
		executionContext = new ExecutionContext( this );
		
		executionContext.setReportContext( new ReportContextImpl(
				executionContext ) );
		setReportRunnable( runnable );
		
		executionContext.setAppContext( engine.getConfig( ).getAppContext( ) );
		cancelFlag = false;
		runningStatus = STATUS_NOT_STARTED;
	}
	protected EngineTask( IReportEngine engine, IReportRunnable runnable,
			int taskType )
	{
		this( engine, runnable );
		this.taskType = taskType;