The following document contains the results of PMD's CPD 4.3.
File | Line |
---|---|
org/apache/log4j/extras/XSLTLayout.java | 100 |
org/apache/log4j/xml/XSLTLayout.java | 96 |
implements org.apache.log4j.xml.UnrecognizedElementHandler { /** * Namespace for XSLT. */ private static final String XSLT_NS = "http://www.w3.org/1999/XSL/Transform"; /** * Namespace for log4j events. */ private static final String LOG4J_NS = "http://jakarta.apache.org/log4j/"; /** * Whether location information should be written. */ private boolean locationInfo = false; /** * media-type (mime type) extracted from XSLT transform. */ private String mediaType = "text/plain"; /** * Encoding extracted from XSLT transform. */ private Charset encoding; /** * Transformer factory. */ private SAXTransformerFactory transformerFactory; /** * XSLT templates. */ private Templates templates; /** * Output stream. */ private final ByteArrayOutputStream outputStream; /** * Whether throwable information should be ignored. */ private boolean ignoresThrowable = false; /** * Whether properties should be extracted. */ private boolean properties = true; /** * Whether activateOptions has been called. */ private boolean activated = false; /** * DateFormat for UTC time. */ private final CachedDateFormat utcDateFormat; /** * Default constructor. * */ public XSLTLayout() { outputStream = new ByteArrayOutputStream(); transformerFactory = (SAXTransformerFactory) TransformerFactory.newInstance(); SimpleDateFormat zdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); zdf.setTimeZone(TimeZone.getTimeZone("UTC")); utcDateFormat = new CachedDateFormat(zdf, 1000); } /** * {@inheritDoc} */ public synchronized String getContentType() { return mediaType; } /** * The <b>LocationInfo </b> option takes a boolean value. By default, it is * set to false which means there will be no location information output by * this layout. If the the option is set to true, then the file name and line * number of the statement at the origin of the log statement will be output. * * <p> * If you are embedding this layout within an {@link * org.apache.log4j.net.SMTPAppender} then make sure to set the * <b>LocationInfo </b> option of that appender as well. * * @param flag new value. */ public synchronized void setLocationInfo(final boolean flag) { locationInfo = flag; } /** * Gets whether location info should be output. * @return if location is output. */ public synchronized boolean getLocationInfo() { return locationInfo; } /** * Sets whether MDC key-value pairs should be output, default false. * @param flag new value. */ public synchronized void setProperties(final boolean flag) { properties = flag; } /** * Gets whether MDC key-value pairs should be output. * @return true if MDC key-value pairs are output. */ public synchronized boolean getProperties() { return properties; } /** {@inheritDoc} */ public synchronized void activateOptions() { if (templates == null) { try { InputStream is = XSLTLayout.class.getResourceAsStream("default.xslt"); StreamSource ss = new StreamSource(is); templates = transformerFactory.newTemplates(ss); encoding = Charset.forName("US-ASCII"); mediaType = "text/plain"; } catch (Exception ex) { LogLog.error("Error loading default.xslt", ex); } } activated = true; } /** * Gets whether throwables should not be output. * @return true if throwables should not be output. */ public synchronized boolean ignoresThrowable() { return ignoresThrowable; } /** * Sets whether throwables should not be output. * @param ignoresThrowable if true, throwables should not be output. */ public synchronized void setIgnoresThrowable(boolean ignoresThrowable) { this.ignoresThrowable = ignoresThrowable; } /** * {@inheritDoc} */ public synchronized String format(final LoggingEvent event) { if (!activated) { activateOptions(); } if (templates != null && encoding != null) { outputStream.reset(); try { TransformerHandler transformer = transformerFactory.newTransformerHandler(templates); transformer.setResult(new StreamResult(outputStream)); transformer.startDocument(); // // event element // AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(null, "logger", "logger", "CDATA", event.getLoggerName()); attrs.addAttribute(null, "timestamp", "timestamp", "CDATA", Long.toString(event.timeStamp)); attrs.addAttribute(null, "level", "level", "CDATA", event.getLevel().toString()); attrs.addAttribute(null, "thread", "thread", "CDATA", event.getThreadName()); StringBuffer buf = new StringBuffer(); utcDateFormat.format(event.timeStamp, buf); attrs.addAttribute(null, "time", "time", "CDATA", buf.toString()); transformer.startElement(LOG4J_NS, "event", "event", attrs); attrs.clear(); // // message element // transformer.startElement(LOG4J_NS, "message", "message", attrs); String msg = event.getRenderedMessage(); if (msg != null && msg.length() > 0) { transformer.characters(msg.toCharArray(), 0, msg.length()); } transformer.endElement(LOG4J_NS, "message", "message"); // // NDC element // String ndc = event.getNDC(); if (ndc != null) { transformer.startElement(LOG4J_NS, "NDC", "NDC", attrs); char[] ndcChars = ndc.toCharArray(); transformer.characters(ndcChars, 0, ndcChars.length); transformer.endElement(LOG4J_NS, "NDC", "NDC"); } // // throwable element unless suppressed // if (!ignoresThrowable) { String[] s = event.getThrowableStrRep(); if (s != null) { transformer.startElement(LOG4J_NS, "throwable", "throwable", attrs); char[] nl = new char[] { '\n' }; for (int i = 0; i < s.length; i++) { char[] line = s[i].toCharArray(); transformer.characters(line, 0, line.length); transformer.characters(nl, 0, nl.length); } transformer.endElement(LOG4J_NS, "throwable", "throwable"); } } // // location info unless suppressed // // if (locationInfo) { LocationInfo locationInfo = event.getLocationInformation(); attrs.addAttribute(null, "class", "class", "CDATA", locationInfo.getClassName()); attrs.addAttribute(null, "method", "method", "CDATA", locationInfo.getMethodName()); attrs.addAttribute(null, "file", "file", "CDATA", locationInfo.getFileName()); attrs.addAttribute(null, "line", "line", "CDATA", locationInfo.getLineNumber()); transformer.startElement(LOG4J_NS, "locationInfo", "locationInfo", attrs); transformer.endElement(LOG4J_NS, "locationInfo", "locationInfo"); } if (properties) { // // write MDC contents out as properties element // Set mdcKeySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); if ((mdcKeySet != null) && (mdcKeySet.size() > 0)) { attrs.clear(); transformer.startElement(LOG4J_NS, "properties", "properties", attrs); Object[] keys = mdcKeySet.toArray(); Arrays.sort(keys); for (int i = 0; i < keys.length; i++) { String key = keys[i].toString(); Object val = event.getMDC(key); attrs.clear(); attrs.addAttribute(null, "name", "name", "CDATA", key); attrs.addAttribute(null, "value", "value", "CDATA", val.toString()); transformer.startElement(LOG4J_NS, "data", "data", attrs); transformer.endElement(LOG4J_NS, "data", "data"); } } } transformer.endElement(LOG4J_NS, "event", "event"); transformer.endDocument(); String body = encoding.decode( ByteBuffer.wrap(outputStream.toByteArray())).toString(); outputStream.reset(); // // must remove XML declaration since it may // result in erroneous encoding info // if written by FileAppender in a different encoding if (body.startsWith("<?xml ")) { int endDecl = body.indexOf("?>"); if (endDecl != -1) { for(endDecl += 2; endDecl < body.length() && (body.charAt(endDecl) == '\n' || body.charAt(endDecl) == '\r'); endDecl++); return body.substring(endDecl); } } return body; } catch (Exception ex) { LogLog.error("Error during transformation", ex); return ex.toString(); } } return "No valid transform or encoding specified."; } /** * Sets XSLT transform. * @param xsltdoc DOM document containing XSLT transform source, * may be modified. * @throws TransformerConfigurationException if transformer can not be * created. */ public void setTransform(final Document xsltdoc) throws TransformerConfigurationException { // // scan transform source for xsl:output elements // and extract encoding, media (mime) type and output method // String encodingName = null; mediaType = null; String method = null; NodeList nodes = xsltdoc.getElementsByTagNameNS( XSLT_NS, "output"); for(int i = 0; i < nodes.getLength(); i++) { Element outputElement = (Element) nodes.item(i); if (method == null || method.length() == 0) { method = outputElement.getAttributeNS(null, "method"); } if (encodingName == null || encodingName.length() == 0) { encodingName = outputElement.getAttributeNS(null, "encoding"); } if (mediaType == null || mediaType.length() == 0) { mediaType = outputElement.getAttributeNS(null, "media-type"); } } if (mediaType == null || mediaType.length() == 0) { if ("html".equals(method)) { mediaType = "text/html"; } else if ("xml".equals(method)) { mediaType = "text/xml"; } else { mediaType = "text/plain"; } } // // if encoding was not specified, // add xsl:output encoding=US-ASCII to XSLT source // if (encodingName == null || encodingName.length() == 0) { Element transformElement = xsltdoc.getDocumentElement(); Element outputElement = xsltdoc. createElementNS(XSLT_NS, "output"); outputElement.setAttributeNS(null, "encoding", "US-ASCII"); transformElement.insertBefore(outputElement, transformElement.getFirstChild()); encoding = Charset.forName("US-ASCII"); } else { encoding = Charset.forName(encodingName); } DOMSource transformSource = new DOMSource(xsltdoc); templates = transformerFactory.newTemplates(transformSource); } /** * {@inheritDoc} */ public boolean parseUnrecognizedElement(final Element element, final Properties props) throws Exception { if (XSLT_NS.equals(element.getNamespaceURI()) || element.getNodeName().indexOf("transform") != -1 || element.getNodeName().indexOf("stylesheet") != -1) { // // DOMConfigurator typically not namespace aware // serialize tree and reparse. ByteArrayOutputStream os = new ByteArrayOutputStream(); DOMSource source = new DOMSource(element); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.transform(source, new StreamResult(os)); ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setNamespaceAware(true); Document xsltdoc = domFactory.newDocumentBuilder().parse(is); setTransform(xsltdoc); return true; } return false; } } |
File | Line |
---|---|
org/apache/log4j/extras/UtilLoggingLevel.java | 57 |
org/apache/log4j/receivers/helpers/UtilLoggingLevel.java | 54 |
public static final int CONFIG_INT = 14000; /** * Numerical value for FINE. */ public static final int FINE_INT = 13000; /** * Numerical value for FINER. */ public static final int FINER_INT = 12000; /** * Numerical value for FINEST. */ public static final int FINEST_INT = 11000; /** * Numerical value for UNKNOWN. */ public static final int UNKNOWN_INT = 10000; /** * SEVERE. */ public static final UtilLoggingLevel SEVERE = new UtilLoggingLevel(SEVERE_INT, "SEVERE", 0); /** * WARNING. */ public static final UtilLoggingLevel WARNING = new UtilLoggingLevel(WARNING_INT, "WARNING", 4); /** * INFO. */ public static final UtilLoggingLevel INFO = new UtilLoggingLevel(INFO_INT, "INFO", 5); /** * CONFIG. */ public static final UtilLoggingLevel CONFIG = new UtilLoggingLevel(CONFIG_INT, "CONFIG", 6); /** * FINE. */ public static final UtilLoggingLevel FINE = new UtilLoggingLevel(FINE_INT, "FINE", 7); /** * FINER. */ public static final UtilLoggingLevel FINER = new UtilLoggingLevel(FINER_INT, "FINER", 8); /** * FINEST. */ public static final UtilLoggingLevel FINEST = new UtilLoggingLevel(FINEST_INT, "FINEST", 9); /** * Create new instance. * @param level numeric value for level. * @param levelStr symbolic name for level. * @param syslogEquivalent Equivalent syslog severity. */ protected UtilLoggingLevel(final int level, final String levelStr, final int syslogEquivalent) { super(level, levelStr, syslogEquivalent); } /** * Convert an integer passed as argument to a level. If the * conversion fails, then this method returns the specified default. * @param val numeric value. * @param defaultLevel level to be returned if no level matches * numeric value. * @return matching level or default level. */ public static UtilLoggingLevel toLevel(final int val, final UtilLoggingLevel defaultLevel) { switch (val) { case SEVERE_INT: return SEVERE; case WARNING_INT: return WARNING; case INFO_INT: return INFO; case CONFIG_INT: return CONFIG; case FINE_INT: return FINE; case FINER_INT: return FINER; case FINEST_INT: return FINEST; default: return defaultLevel; } } /** * Gets level matching numeric value. * @param val numeric value. * @return matching level or UtilLoggerLevel.FINEST if no match. */ public static Level toLevel(final int val) { return toLevel(val, FINEST); } /** * Gets list of supported levels. * @return list of supported levels. */ public static List getAllPossibleLevels() { ArrayList list = new ArrayList(); list.add(FINE); list.add(FINER); list.add(FINEST); list.add(INFO); list.add(CONFIG); list.add(WARNING); list.add(SEVERE); return list; } /** * Get level with specified symbolic name. * @param s symbolic name. * @return matching level or Level.DEBUG if no match. */ public static Level toLevel(final String s) { return toLevel(s, Level.DEBUG); } /** * Get level with specified symbolic name. * @param sArg symbolic name. * @param defaultLevel level to return if no match. * @return matching level or defaultLevel if no match. */ public static Level toLevel(final String sArg, final Level defaultLevel) { if (sArg == null) { return defaultLevel; } String s = sArg.toUpperCase(); if (s.equals("SEVERE")) { return SEVERE; } //if(s.equals("FINE")) return Level.FINE; if (s.equals("WARNING")) { return WARNING; } if (s.equals("INFO")) { return INFO; } if (s.equals("CONFI")) { return CONFIG; } if (s.equals("FINE")) { return FINE; } if (s.equals("FINER")) { return FINER; } if (s.equals("FINEST")) { return FINEST; } return defaultLevel; } } |
File | Line |
---|---|
org/apache/log4j/receivers/xml/UtilLoggingXMLDecoder.java | 159 |
org/apache/log4j/receivers/xml/XMLDecoder.java | 164 |
InputSource inputSource = new InputSource(new StringReader(buf.toString())); document = docBuilder.parse(inputSource); } catch (Exception e) { e.printStackTrace(); } return document; } /** * Decodes a File into a Vector of LoggingEvents. * @param url the url of a file containing events to decode * @return Vector of LoggingEvents * @throws IOException if IO error during processing. */ public Vector decode(final URL url) throws IOException { LineNumberReader reader; boolean isZipFile = url.getPath().toLowerCase().endsWith(".zip"); InputStream inputStream; if (isZipFile) { inputStream = new ZipInputStream(url.openStream()); //move stream to next entry so we can read it ((ZipInputStream)inputStream).getNextEntry(); } else { inputStream = url.openStream(); } if (owner != null) { reader = new LineNumberReader( new InputStreamReader( new ProgressMonitorInputStream(owner, "Loading " + url , inputStream), ENCODING)); } else { reader = new LineNumberReader(new InputStreamReader(inputStream, ENCODING)); } Vector v = new Vector(); String line; Vector events; try { while ((line = reader.readLine()) != null) { StringBuffer buffer = new StringBuffer(line); for (int i = 0; i < 1000; i++) { buffer.append(reader.readLine()).append("\n"); } events = decodeEvents(buffer.toString()); if (events != null) { v.addAll(events); } } } finally { partialEvent = null; try { if (reader != null) { reader.close(); } } catch (Exception e) { e.printStackTrace(); } } return v; } /** * Decodes a String representing a number of events into a * Vector of LoggingEvents. * @param document to decode events from * @return Vector of LoggingEvents */ public Vector decodeEvents(final String document) { if (document != null) { if (document.trim().equals("")) { return null; } String newDoc; |
File | Line |
---|---|
org/apache/log4j/receivers/xml/UtilLoggingXMLDecoder.java | 237 |
org/apache/log4j/receivers/xml/XMLDecoder.java | 240 |
String newPartialEvent = null; //separate the string into the last portion ending with </record> // (which will be processed) and the partial event which // will be combined and processed in the next section //if the document does not contain a record end, // append it to the partial event string if (document.lastIndexOf(RECORD_END) == -1) { partialEvent = partialEvent + document; return null; } if (document.lastIndexOf(RECORD_END) + RECORD_END.length() < document.length()) { newDoc = document.substring(0, document.lastIndexOf(RECORD_END) + RECORD_END.length()); newPartialEvent = document.substring( document.lastIndexOf(RECORD_END) + RECORD_END.length()); } else { newDoc = document; } if (partialEvent != null) { newDoc = partialEvent + newDoc; } partialEvent = newPartialEvent; Document doc = parse(newDoc); if (doc == null) { return null; } return decodeEvents(doc); } return null; } /** * Converts the string data into an XML Document, and then soaks out the * relevant bits to form a new LoggingEvent instance which can be used * by any Log4j element locally. * @param data XML fragment * @return a single LoggingEvent or null */ public LoggingEvent decode(final String data) { Document document = parse(data); if (document == null) { return null; } Vector events = decodeEvents(document); if (events.size() > 0) { return (LoggingEvent) events.firstElement(); } return null; } /** * Given a Document, converts the XML into a Vector of LoggingEvents. * @param document XML document * @return Vector of LoggingEvents */ private Vector decodeEvents(final Document document) { Vector events = new Vector(); |
File | Line |
---|---|
org/apache/log4j/rule/AndRule.java | 101 |
org/apache/log4j/rule/OrRule.java | 101 |
if (result) { for (Iterator iter = tempMatches1.entrySet().iterator();iter.hasNext();) { Map.Entry entry = (Map.Entry)iter.next(); Object key = entry.getKey(); Set value = (Set)entry.getValue(); Set mainSet = (Set) matches.get(key); if (mainSet == null) { mainSet = new HashSet(); matches.put(key, mainSet); } mainSet.addAll(value); } for (Iterator iter = tempMatches2.entrySet().iterator();iter.hasNext();) { Map.Entry entry = (Map.Entry)iter.next(); Object key = entry.getKey(); Set value = (Set)entry.getValue(); Set mainSet = (Set) matches.get(key); if (mainSet == null) { mainSet = new HashSet(); matches.put(key, mainSet); } mainSet.addAll(value); } } return result; } } |
File | Line |
---|---|
org/apache/log4j/rule/LevelEqualsRule.java | 61 |
org/apache/log4j/rule/NotLevelEqualsRule.java | 61 |
private LevelEqualsRule(final Level level) { super(); this.level = level; } /** * Populate list of levels. */ private static void populateLevels() { levelList = new LinkedList(); levelList.add(Level.FATAL.toString()); levelList.add(Level.ERROR.toString()); levelList.add(Level.WARN.toString()); levelList.add(Level.INFO.toString()); levelList.add(Level.DEBUG.toString()); Level trace = Level.toLevel(5000, null); if (trace != null) { levelList.add(trace.toString()); } } /** * Create new rule. * @param value name of level. * @return instance of LevelEqualsRule. */ public static Rule getRule(final String value) { Level thisLevel; if (levelList.contains(value.toUpperCase())) { thisLevel = Level.toLevel(value.toUpperCase()); } else { thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); } return new LevelEqualsRule(thisLevel); |
File | Line |
---|---|
org/apache/log4j/rule/LevelEqualsRule.java | 106 |
org/apache/log4j/rule/NotLevelEqualsRule.java | 106 |
boolean result = (level.toInt() == eventLevel.toInt()); if (result && matches != null) { Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); if (entries == null) { entries = new HashSet(); matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); } entries.add(eventLevel); } return result; } /** * Deserialize the state of the object. * * @param in object input stream. * * @throws IOException if error in reading stream for deserialization. */ private void readObject(final java.io.ObjectInputStream in) throws IOException { populateLevels(); boolean isUtilLogging = in.readBoolean(); int levelInt = in.readInt(); if (isUtilLogging) { level = UtilLoggingLevel.toLevel(levelInt); } else { level = Level.toLevel(levelInt); } } /** * Serialize the state of the object. * * @param out object output stream. * * @throws IOException if error in writing stream during serialization. */ private void writeObject(final java.io.ObjectOutputStream out) throws IOException { out.writeBoolean(level instanceof UtilLoggingLevel); out.writeInt(level.toInt()); } } |
File | Line |
---|---|
org/apache/log4j/extras/SoundAppender.java | 47 |
org/apache/log4j/varia/SoundAppender.java | 44 |
public final class SoundAppender extends AppenderSkeleton { private AudioClip clip; private String audioURL; public SoundAppender() { } /** * Attempt to initialize the appender by creating a reference to an AudioClip. * * Will log a message if format is not supported, file not found, etc. * */ public void activateOptions() { /* * AudioSystem.getAudioInputStream requires jdk 1.3, * so we use applet.newaudioclip instead * */ try { clip = Applet.newAudioClip(new URL(audioURL)); } catch (MalformedURLException mue) { LogLog.error("unable to initialize SoundAppender", mue);} if (clip == null) { LogLog.error("Unable to initialize SoundAppender"); } } /** * Accessor * * @return audio file */ public String getAudioURL() { return audioURL; } /** * Mutator - common format for a file-based url: * file:///c:/path/someaudioclip.wav * * @param audioURL */ public void setAudioURL(String audioURL) { this.audioURL = audioURL; } /** * Play the sound if an event is being processed */ protected void append(LoggingEvent event) { if (clip != null) { clip.play(); } } public void close() { //nothing to do } /** * Gets whether appender requires a layout. * @return false */ public boolean requiresLayout() { return false; } } |
File | Line |
---|---|
org/apache/log4j/rolling/helper/GZCompressAction.java | 60 |
org/apache/log4j/rolling/helper/ZipCompressAction.java | 61 |
public GZCompressAction( final File source, final File destination, final boolean deleteSource) { if (source == null) { throw new NullPointerException("source"); } if (destination == null) { throw new NullPointerException("destination"); } this.source = source; this.destination = destination; this.deleteSource = deleteSource; } /** * Compress. * @return true if successfully compressed. * @throws IOException on IO exception. */ public boolean execute() throws IOException { return execute(source, destination, deleteSource); } /** * Compress a file. * * @param source file to compress, may not be null. * @param destination compressed file, may not be null. * @param deleteSource if true, attempt to delete file on completion. Failure to delete * does not cause an exception to be thrown or affect return value. * @return true if source file compressed. * @throws IOException on IO exception. */ public static boolean execute( final File source, final File destination, final boolean deleteSource) throws IOException { if (source.exists()) { FileInputStream fis = new FileInputStream(source); FileOutputStream fos = new FileOutputStream(destination); |
File | Line |
---|---|
org/apache/log4j/receivers/net/MulticastAppender.java | 87 |
org/apache/log4j/receivers/net/UDPAppender.java | 107 |
super(false); } /** Open the multicast sender for the <b>RemoteHost</b> and <b>Port</b>. */ public void activateOptions() { try { hostname = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException uhe) { try { hostname = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException uhe2) { hostname = "unknown"; } } //allow system property of application to be primary if (application == null) { application = System.getProperty(Constants.APPLICATION_KEY); } else { if (System.getProperty(Constants.APPLICATION_KEY) != null) { application = application + "-" + System.getProperty(Constants.APPLICATION_KEY); } } if(remoteHost != null) { address = getAddressByName(remoteHost); |
File | Line |
---|---|
org/apache/log4j/receivers/xml/XMLDecoder.java | 356 |
org/apache/log4j/receivers/xml/XMLDecoder.java | 396 |
NodeList propertyList = list.item(y).getChildNodes(); int propertyLength = propertyList.getLength(); for (int i = 0; i < propertyLength; i++) { String propertyTag = propertyList.item(i).getNodeName(); if (propertyTag.equalsIgnoreCase("log4j:data")) { Node property = propertyList.item(i); String name = property.getAttributes().getNamedItem("name").getNodeValue(); String value = property.getAttributes().getNamedItem("value").getNodeValue(); properties.put(name, value); } } } if (tagName.equalsIgnoreCase("log4j:throwable")) { |
File | Line |
---|---|
org/apache/log4j/rolling/RollingFileAppender.java | 246 |
org/apache/log4j/rolling/RollingFileAppender.java | 294 |
closeWriter(); boolean success = true; if (rollover.getSynchronous() != null) { success = false; try { success = rollover.getSynchronous().execute(); } catch (Exception ex) { exception = ex; } } if (success) { if (rollover.getAppend()) { fileLength = new File(rollover.getActiveFileName()).length(); } else { fileLength = 0; } if (rollover.getAsynchronous() != null) { lastRolloverAsyncAction = rollover.getAsynchronous(); new Thread(lastRolloverAsyncAction).start(); } |
File | Line |
---|---|
org/apache/log4j/receivers/xml/UtilLoggingXMLDecoder.java | 407 |
org/apache/log4j/receivers/xml/XMLDecoder.java | 426 |
} } LocationInfo info; if ((fileName != null) || (className != null) || (methodName != null) || (lineNumber != null)) { info = new LocationInfo(fileName, className, methodName, lineNumber); } else { info = LocationInfo.NA_LOCATION_INFO; } ThrowableInformation throwableInfo = null; if (exception != null) { throwableInfo = new ThrowableInformation(exception); } LoggingEvent loggingEvent = new LoggingEvent(null, logger, timeStamp, level, message, threadName, throwableInfo, ndc, info, properties); events.add(loggingEvent); |
File | Line |
---|---|
org/apache/log4j/rule/LevelEqualsRule.java | 64 |
org/apache/log4j/rule/LevelInequalityRule.java | 57 |
org/apache/log4j/rule/NotLevelEqualsRule.java | 64 |
} /** * Populate list of levels. */ private static void populateLevels() { levelList = new LinkedList(); levelList.add(Level.FATAL.toString()); levelList.add(Level.ERROR.toString()); levelList.add(Level.WARN.toString()); levelList.add(Level.INFO.toString()); levelList.add(Level.DEBUG.toString()); Level trace = Level.toLevel(5000, null); if (trace != null) { levelList.add(trace.toString()); } |
File | Line |
---|---|
org/apache/log4j/receivers/xml/UtilLoggingXMLDecoder.java | 435 |
org/apache/log4j/receivers/xml/XMLDecoder.java | 462 |
} return events; } /** * Get contents of CDATASection. * @param n CDATASection * @return text content of all text or CDATA children of node. */ private String getCData(final Node n) { StringBuffer buf = new StringBuffer(); NodeList nl = n.getChildNodes(); for (int x = 0; x < nl.getLength(); x++) { Node innerNode = nl.item(x); if ( (innerNode.getNodeType() == Node.TEXT_NODE) || (innerNode.getNodeType() == Node.CDATA_SECTION_NODE)) { buf.append(innerNode.getNodeValue()); } } return buf.toString(); } } |
File | Line |
---|---|
org/apache/log4j/receivers/net/SocketNode13.java | 201 |
org/apache/log4j/receivers/net/XMLSocketNode.java | 175 |
} } } catch (java.io.EOFException e) { getLogger().info("Caught java.io.EOFException closing connection."); listenerException = e; } catch (java.net.SocketException e) { getLogger().info("Caught java.net.SocketException closing connection."); listenerException = e; } catch (IOException e) { getLogger().info("Caught java.io.IOException: " + e); getLogger().info("Closing connection."); listenerException = e; } catch (Exception e) { getLogger().error("Unexpected exception. Closing connection.", e); listenerException = e; } } // close the socket try { if (ois != null) { |