[xep-support] XEP 3.7: Problem in event logger

Nikolai Grigoriev grig at renderx.com
Mon Jan 12 12:43:06 PST 2004


Werner,

> I got an exception from the event logger, which was set to a default
> TransformerHandler. That one just copies the source tree to the result
> tree. This is the exception:
>
> com.renderx.xep.lib.InternalException: problem in the logger
>         at com.renderx.xep.lib.EventLogger.info(Unknown Source)
>         at com.renderx.xep.lib.EventLogger.error(Unknown Source)

This situation happens when a ContentHandler supplied to the legacy
logger (EventLogger) throws a SAXException. Apparently, it happened
in a call to the characters() method of your TransformerHandler; it is hard
to say anything more definite at this stage.

I suggest to dump the logger output using a plain XML serializer, in order
to see the actual sequence of calls. There is one inside XEP's jar:
com.renderx.sax.Serializer simply dumps its data to the specified file,
stream, or writer. Constructors are:

  public Serializer (String name) throws IOException;
  public Serializer (java.io.OutputStream ostream) throws IOException;
  public Serializer (java.io.Writer writer);

Please set it as the ContentHandler for the EventLogger, e.g.:

  EventLogger.logger().setContentHandler(new Serializer("logdump.xml"));

I would like to have a look at the things that end up in logdump.xml;
could you please send me the result off-list?

(A note aside: the XML logging interface is extremely fragile, and it is not easy
for us to maintain well-formedness of the logger event tree. This is the primary
reason we switched to a simple and robust com.renderx.xep.lib.Logger interface
for the new classes: things like this cannot happen there).

Best regards,
Nikolai Grigoriev
RenderX


----- Original Message -----
From: "Werner Donné" <werner.donne at re.be>
To: "XEP Support" <xep-support at renderx.com>
Sent: Monday, January 12, 2004 7:08 PM
Subject: [xep-support] XEP 3.7: Problem in event logger


Hi,

I got an exception from the event logger, which was set to a default
TransformerHandler. That one just copies the source tree to the result tree.
This is the exception:

com.renderx.xep.lib.InternalException: problem in the logger
         at com.renderx.xep.lib.EventLogger.info(Unknown Source)
         at com.renderx.xep.lib.EventLogger.error(Unknown Source)
         at com.renderx.xep.lib.EventLogger.exception(Unknown Source)
         at com.renderx.fonts.FontRecord.exception(Unknown Source)
         at com.renderx.fonts.FontRecord.getMetric(Unknown Source)
         at com.renderx.fonts.FontCatalog.getFontRecord(Unknown Source)
         at com.renderx.fonts.FontCatalog.findall(Unknown Source)
         at com.renderx.xep.cmp.Item$TextTraits.<init>(Unknown Source)
         at com.renderx.xep.cmp.Item$Block.<init>(Unknown Source)
         at com.renderx.xep.cmp.FlowHandler.startElement(Unknown Source)
         at com.renderx.xep.cmp.SequenceHandler.startElement(Unknown Source)
         at com.renderx.xep.cmp.RootHandler.startElement(Unknown Source)
         at com.renderx.xep.pre.BidiResolver.startElement(Unknown Source)
         at com.renderx.xep.pre.FOHandler.callStartHandler(Unknown Source)
         at com.renderx.xep.pre.FOHandler.callStartHandler(Unknown Source)
         at com.renderx.xep.pre.FOHandler.startElement(Unknown Source)
         at
com.jclark.xsl.sax.MultiNamespaceResult.startElementContent(MultiNamespaceResult.java)
         at com.jclark.xsl.sax.ResultBase.flush(ResultBase.java)
         at com.jclark.xsl.sax.ResultBase.characters(ResultBase.java)
         at com.jclark.xsl.tr.BuiltinAction.invoke(BuiltinAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at com.jclark.xsl.tr.ElementAction.invoke(ElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.invokeWithParams(ProcessContextImpl.java)
         at com.jclark.xsl.tr.InvokeAction.invoke(InvokeAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at com.jclark.xsl.tr.ElementAction.invoke(ElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.invokeWithParams(ProcessContextImpl.java)
         at com.jclark.xsl.tr.InvokeAction.invoke(InvokeAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.LiteralElementAction.invoke(LiteralElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at com.jclark.xsl.tr.IfAction.invoke(IfAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at com.jclark.xsl.tr.ElementAction.invoke(ElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.LiteralElementAction.invoke(LiteralElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.LiteralElementAction.invoke(LiteralElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at com.jclark.xsl.tr.ElementAction.invoke(ElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.invokeWithParams(ProcessContextImpl.java)
         at com.jclark.xsl.tr.InvokeAction.invoke(InvokeAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at com.jclark.xsl.tr.ElementAction.invoke(ElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.invokeWithParams(ProcessContextImpl.java)
         at com.jclark.xsl.tr.InvokeAction.invoke(InvokeAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.LiteralElementAction.invoke(LiteralElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at com.jclark.xsl.tr.ElementAction.invoke(ElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.LiteralElementAction.invoke(LiteralElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.LiteralElementAction.invoke(LiteralElementAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.process(ProcessContextImpl.java)
         at com.jclark.xsl.tr.ProcessAction.invoke(ProcessAction.java)
         at com.jclark.xsl.tr.AppendAction.invoke(AppendAction.java)
         at
com.jclark.xsl.tr.ProcessContextImpl.processSafe(ProcessContextImpl.java)
         at com.jclark.xsl.tr.SheetImpl.process(SheetImpl.java)
         at com.jclark.xsl.sax.XSLProcessorImpl.parse(XSLProcessorImpl.java)
         at com.renderx.xep.pre.Parser.parse(Unknown Source)
         at com.renderx.xep.pre.Parser.parse(Unknown Source)
         at com.renderx.xep.FormatterCore.render(Unknown Source)
         at com.renderx.xep.Driver.render(Unknown Source)

Regards,

Werner.
--
Werner Donné  --  Re BVBA
Engelbeekstraat 8
B-3300 Tienen
tel: (+32) 486 425803 e-mail: werner.donne at re.be

-------------------
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo at renderx.com from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html

-------------------
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo at renderx.com from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html



More information about the Xep-support mailing list