You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Steve Pruitt <SP...@exstream.com> on 2005/12/09 16:00:09 UTC

Xml config file problem

This is not a log4j problem per se. It appears to be xerces errors, but
maybe someone ran into it before and can help.

Prior to configuring log4j with an xml config file, I read the file
myself and check log file pathnames set in some appenders.  I then
transform the document back into an InputStream and feed this to
DOMConfigurator.

The following errors are reported.  Apparently, the DOCTYPE is being
stripped out.  I'm using jaxp and I have searched for mechanism to
include the DOCTYPE, but nothing is obvious.

log4j:ERROR Parsing error on line 2 and column 98
log4j:ERROR Document root element "log4j:configuration", must match
DOCTYPE root "null".
log4j:ERROR Parsing error on line 2 and column 98
log4j:ERROR Document is invalid: no grammar found.

The config DOM dumped to the console is:

<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration debug="null" threshold="null"
xmlns:log4j="http://jakarta.apache.org/log4j">
:
:
</log4j:configuration> 


The parsing code snippet is:

Document doc = null;
DocumentBuilderFactory dbFactory = null;

dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setNamespaceAware(true);
DocumentBuilder db = dbFactory.newDocumentBuilder();
db.setEntityResolver(new LogDTDResolver());
doc = db.parse(is);


The console dump code snipped is:

DOMSource ds = new DOMSource(dumpSrc);
ByteArrayOutputStream baos = new ByteArrayOutputStream();

TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer serializer = tfactory.newTransformer();
Properties oprops = new Properties();
oprops.put("method", "xml");
oprops.put("omit-xml-declaration", "no");
oprops.put("indent", "yes");  
serializer.setOutputProperties(oprops);
serializer.transform(ds, new StreamResult(baos));
System.out.println(baos.toString());

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org