static void LogError( CompositorScriptContext context, string error, params object[] substitutions )
{
StringBuilder errorBuilder = new StringBuilder();
// log compositor name only if filename not specified
if ( context.filename == null && context.compositor != null )
{
errorBuilder.Append( "Error in compositor " );
errorBuilder.Append( context.compositor.Name );
errorBuilder.Append( " : " );
errorBuilder.AppendFormat( "At line # {0}: '{1}'", context.lineNo, context.line );
errorBuilder.AppendFormat( error, substitutions );
}
else
{
if ( context.compositor != null )
{
errorBuilder.Append( "Error in compositor " );
errorBuilder.Append( context.compositor.Name );
errorBuilder.AppendFormat( " at line # {0}: '{1}'", context.lineNo, context.line );
errorBuilder.AppendFormat( " of {0}: ", context.filename );
errorBuilder.AppendFormat( error, substitutions );
}
else
{
errorBuilder.AppendFormat( "Error at line # {0}: '{1}'", context.lineNo, context.line );
errorBuilder.AppendFormat( " of {0}: ", context.filename );
errorBuilder.AppendFormat( error, substitutions );
}
}
LogManager.Instance.Write( errorBuilder.ToString() );
}