001    package org.shiftone.jrat.util.log;
002    
003    
004    import org.xml.sax.ErrorHandler;
005    import org.xml.sax.SAXException;
006    import org.xml.sax.SAXParseException;
007    
008    
009    /**
010     * @author jeff@shiftone.org (Jeff Drost)
011     */
012    public class LoggingSAXErrorHandler implements ErrorHandler {
013    
014        private static final Logger LOG = Logger.getLogger(LoggingSAXErrorHandler.class);
015    
016        public void error(SAXParseException e) throws SAXException {
017            LOG.warn("parse error " + message(e));
018        }
019    
020    
021        public void fatalError(SAXParseException e) throws SAXException {
022            LOG.warn("fatal parse error " + message(e));
023        }
024    
025    
026        public void warning(SAXParseException e) throws SAXException {
027            LOG.warn("parse warning " + message(e));
028        }
029    
030    
031        private String message(SAXParseException e) {
032            return "on line " + e.getLineNumber() + ", column " + e.getColumnNumber() + " : " + e.getMessage();
033        }
034    }