public NTEventLogAppender(String server, String source, Layout layout) { if (source == null) { source = "Log4j"; } if (layout == null) { this.layout = new TTCCLayout(); } else { this.layout = layout; } try { _handle = registerEventSource(server, source); } catch (Exception e) { e.printStackTrace(); _handle = 0; } }
@SuppressWarnings("unchecked") private void figureoutLogConfiguration(Logger Logger, LinkedList<LogProfileInfo> list, String appid) { Enumeration<Appender> appenders = Logger.getAllAppenders(); while (appenders != null && appenders.hasMoreElements()) { LogProfileInfo logProfileInfo = new LogProfileInfo(); if (appid != null) { logProfileInfo.setAppId(appid); } logProfileInfo.setLogType(LogProfileInfo.LogType.Log4j); Map<String, String> attributes = new HashMap<String, String>(); attributes.put(LogProfileInfo.ENGINE, "log4j"); Appender appender = appenders.nextElement(); if (!(appender instanceof FileAppender)) { continue; } FileAppender fileAppender = (FileAppender) appender; Layout layout = fileAppender.getLayout(); if (null != layout) { if (layout instanceof PatternLayout) { PatternLayout patternLayout = (PatternLayout) fileAppender.getLayout(); attributes.put(LogProfileInfo.PATTERN, patternLayout.getConversionPattern()); } else if (layout instanceof HTMLLayout) { attributes.put(LogProfileInfo.PATTERN, "HTMLLayout"); } else if (layout instanceof SimpleLayout) { attributes.put(LogProfileInfo.PATTERN, "SimpleLayout"); } else if (layout instanceof TTCCLayout) { attributes.put(LogProfileInfo.PATTERN, "TTCCLayout"); } } boolean useBuffIO = fileAppender.getBufferedIO(); if (useBuffIO == true) { attributes.put(LogProfileInfo.BUFFER_SIZE, String.valueOf(fileAppender.getBufferSize())); attributes.put(LogProfileInfo.BUFFRT_IO, String.valueOf(useBuffIO)); } logProfileInfo.setFilePath(fileAppender.getFile()); logProfileInfo.setAttributes(attributes); list.add(logProfileInfo); } }