/** * Tests that any header or footer in layout is sent. * @throws Exception if exception during test. */ public void testLayoutHeader() throws Exception { DatagramSocket ds = new DatagramSocket(); ds.setSoTimeout(2000); SyslogAppender appender = new SyslogAppender(); appender.setSyslogHost("localhost:" + ds.getLocalPort()); appender.setName("name"); appender.setHeader(false); HTMLLayout pl = new HTMLLayout(); appender.setLayout(pl); appender.activateOptions(); Logger l = Logger.getRootLogger(); l.addAppender(appender); l.info("Hello, World"); appender.close(); String[] s = new String[3]; byte[] buf = new byte[1000]; for(int i = 0; i < 3; i++) { DatagramPacket p = new DatagramPacket(buf, 0, buf.length); ds.receive(p); s[i] = new String(p.getData(), 0, p.getLength()); } ds.close(); assertEquals("<14><!DOCTYPE", s[0].substring(0,13)); assertEquals("<14></table>", s[2].substring(0,12)); }
public static ClassDefinition<Layout> layoutClassDefintion(String className) { if("classic".equalsIgnoreCase(className))return new ClassDefinitionImpl( ClassicLayout.class); if("html".equalsIgnoreCase(className))return new ClassDefinitionImpl( HTMLLayout.class); if("xml".equalsIgnoreCase(className))return new ClassDefinitionImpl( XMLLayout.class); if("pattern".equalsIgnoreCase(className))return new ClassDefinitionImpl( PatternLayout.class); return new ClassDefinitionImpl( className); }
public static ClassDefinition toClassDefinition(Struct sct, ClassDefinition defaultValue, boolean isAppender, boolean isLayout) { if(sct==null) return defaultValue; // class String className=Caster.toString(sct.get("class",null),null); if(StringUtil.isEmpty(className)) return defaultValue; if(isAppender) { if("console".equalsIgnoreCase(className)) return new ClassDefinitionImpl( ConsoleAppender.class); if("resource".equalsIgnoreCase(className)) return new ClassDefinitionImpl( RollingResourceAppender.class); if("datasource".equalsIgnoreCase(className))return new ClassDefinitionImpl( DatasourceAppender.class); } else if(isLayout) { if("classic".equalsIgnoreCase(className))return new ClassDefinitionImpl( ClassicLayout.class); if("html".equalsIgnoreCase(className))return new ClassDefinitionImpl( HTMLLayout.class); if("xml".equalsIgnoreCase(className))return new ClassDefinitionImpl( XMLLayout.class); if("pattern".equalsIgnoreCase(className))return new ClassDefinitionImpl( PatternLayout.class); } // name String name=Caster.toString(sct.get("bundlename",null),null); if(StringUtil.isEmpty(name)) name=Caster.toString(sct.get("name",null),null); // version Version version=OSGiUtil.toVersion(Caster.toString(sct.get("bundleversion",null),null),null); if(version==null) version=OSGiUtil.toVersion(Caster.toString(sct.get("version",null),null),null); if(StringUtil.isEmpty(name)) return new ClassDefinitionImpl(className); return new ClassDefinitionImpl(null,className, name, version); }
public Job(ExportProps param, ExportOptionsViewComponent view) { jobParams = param; parent = view; url = view.getApplication().getMainWindow().getURL(); if (exportDir == null) { exportDir = new File(ExpressZipApplication.Configuration.getProperty("exportdirectory"), jobParams.getJobName()); exportDir.mkdir(); } String JobRunID = String.format("%d", System.identityHashCode(this)); logger = Logger.getLogger(JobRunID); logger.setAdditivity(false); try { outputLogFile = new File(exportDir, getLogName()); outputLogAppender = new FileAppender(new HTMLLayout(), outputLogFile.getPath()); logger.addAppender(outputLogAppender); } catch (IOException e) { BasicConfigurator.configure(); } // Set up GeoTIFF writer compression and tiling geoTiffWPs = new GeoTiffWriteParams(); geoTiffWPs.setCompressionMode(GeoTiffWriteParams.MODE_EXPLICIT); geoTiffWPs.setCompressionType("LZW"); geoTiffWPs.setCompressionQuality(0.75F); geoTiffWPs.setTilingMode(GeoTiffWriteParams.MODE_EXPLICIT); geoTiffWPs.setTiling(256, 256); }
private static WriterAppender createAppender(File logFile) throws IOException { HTMLLayout layout = new HTMLLayout(); RollingFileAppender app = new RollingFileAppender(layout, logFile.getAbsolutePath(), true); app.setMaxFileSize("3MB"); app.setMaxBackupIndex(3); return app; }
@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); } }
public void updateLogSettings(String name, Level level, String appenderClassName, Struct appenderArgs, String layoutClassName, Struct layoutArgs) throws PageException { checkWriteAccess(); // TODO //boolean hasAccess=ConfigWebUtil.hasAccess(config,SecurityManagerImpl.TYPE_GATEWAY); // if(!hasAccess) throw new SecurityException("no access to update gateway entry"); // check parameters name=name.trim(); if(StringUtil.isEmpty(name)) throw new ApplicationException("name can't be a empty value"); if(StringUtil.isEmpty(appenderClassName)) throw new ExpressionException("you must define appender class name"); if(StringUtil.isEmpty(layoutClassName)) throw new ExpressionException("you must define layout class name"); try { ClassUtil.loadClass(appenderClassName); ClassUtil.loadClass(layoutClassName); } catch (ClassException e) { throw Caster.toPageException(e); } Element parent=_getRootElement("logging"); // Update Element[] children = ConfigWebFactory.getChildren(parent,"logger"); Element el=null; for(int i=0;i<children.length;i++) { String n=children[i].getAttribute("name"); if(name.equalsIgnoreCase(n)) { el=children[i]; break; } } // Insert if(el==null) { el=doc.createElement("logger"); parent.appendChild(el); el.setAttribute("name",name); } // appender if(appenderClassName.equals(ConsoleAppender.class.getName())) appenderClassName="console"; if(appenderClassName.equals(RollingResourceAppender.class.getName())) appenderClassName="resource"; // layout if(layoutClassName.equals(PatternLayout.class.getName())) layoutClassName="pattern"; if(layoutClassName.equals(ClassicLayout.class.getName())) layoutClassName="classic"; if(layoutClassName.equals(HTMLLayout.class.getName())) layoutClassName="html"; if(layoutClassName.equals(XMLLayout.class.getName())) layoutClassName="xml"; el.setAttribute("level",level.toString()); el.setAttribute("appender",appenderClassName); el.setAttribute("appender-arguments",toStringCSSStyle(appenderArgs)); el.setAttribute("layout",layoutClassName); el.setAttribute("layout-arguments",toStringCSSStyle(layoutArgs)); }