/** * Parses and loads a {@link StructuredSyslogMessage} from string. * * @param syslogMessageStr * @return Returns an instance of StructuredSyslogMessage. */ public static StructuredSyslogMessage fromString( final String syslogMessageStr) { final StructuredSyslogMessage syslogMessage = new StructuredSyslogMessage(); syslogMessage.deserialize(syslogMessageStr); return syslogMessage; }
@Override protected void append(final LoggingEvent event) { final SyslogIF syslog = getSyslog(); final SyslogLevel level = SyslogLevel.forValue(event.getLevel().getSyslogEquivalent()); final String messageId = UUID.randomUUID().toString().replace("-", ""); final String [] messageLines = StringUtils.split((layout != null) ? layout.format(event) : event.getRenderedMessage(), "\n\r"); for (int i = 0; i < messageLines.length; i++) { final Builder<String, String> b = ImmutableMap.builder(); b.put("l", event.getLoggerName()); b.put("c", Integer.toString(i)); if (serviceId != null) { b.put("si", serviceId); } if (serviceConfiguration != null) { b.put("sc", serviceConfiguration); } Object trackToken = event.getMDC("track"); if (trackToken != null) { b.put("t", trackToken.toString()); } Map<String, String> payload = b.build(); final String threadName = StringUtils.replaceChars(event.getThreadName()," \t", ""); final StructuredSyslogMessage structuredMessage = new StructuredSyslogMessage(messageId, threadName, ImmutableMap.of(ianaIdentifier, payload), messageLines[i]); syslog.log(level, structuredMessage); } }
public void testCreateMessage3() { final StructuredSyslogMessage message = new StructuredSyslogMessage("msgId", null, Maps.<String, Map<String, String>>newHashMap(), "my message"); assertEquals("msgId [0@0] my message", message.createMessage()); }
public void testCreateMessage4() { final Map<String, Map<String, String>> map = Maps.newHashMap(); final StructuredSyslogMessage message = new StructuredSyslogMessage("msgId", null, map, "my message"); assertEquals("msgId [0@0] my message", message.createMessage()); }
public void testCreateMessage1() { final StructuredSyslogMessage message = new StructuredSyslogMessage("msgId", null, null, null); assertEquals("msgId [0@0]", message.createMessage()); }
public void testCreateMessage2() { final StructuredSyslogMessage message = new StructuredSyslogMessage("msgId", null, null, "my message"); assertEquals("msgId [0@0] my message", message.createMessage()); }
public void log(SyslogLevel level, String message) { if (this.syslogConfig.isUseStructuredData()) { StructuredSyslogMessageIF structuredMessage = new StructuredSyslogMessage(null,null,null,message); log(getStructuredMessageProcessor(),level, null, structuredMessage.createMessage()); } else { log(getMessageProcessor(),level, null, message); } }
public void testStructuredSyslogMessage() { SyslogConfigIF config = new UDPNetSyslogConfig(); config.setUseStructuredData(true); assertTrue(config.isUseStructuredData()); config.setUseStructuredData(false); assertFalse(config.isUseStructuredData()); SyslogIF syslog = Syslog.createInstance("testStructuredSyslog",config); SyslogMessageProcessorIF messageProcessor = new StructuredSyslogMessageProcessor(); syslog.setStructuredMessageProcessor(messageProcessor); assertEquals(messageProcessor,syslog.getStructuredMessageProcessor()); SyslogMessageIF m1 = new StructuredSyslogMessage("test1",null, Maps.<String, Map<String, String>>newHashMap(),"test2"); SyslogMessageIF m2 = new StructuredSyslogMessage("test1",null, Maps.<String, Map<String, String>>newHashMap(),"test2"); SyslogMessageIF m3 = new StructuredSyslogMessage("test3",null, Maps.<String, Map<String, String>>newHashMap(),"test2"); SyslogMessageIF m4 = new StructuredSyslogMessage("test1",null, Maps.<String, Map<String, String>>newHashMap(),"test4"); assertFalse(m1.equals(null)); assertFalse(m1.equals("Wrong Class")); assertTrue(m1.equals(m1)); assertTrue(m2.equals(m2)); assertFalse(m1.equals(m3)); assertFalse(m1.equals(m4)); }
m1.put("testa",m2); StructuredSyslogMessageIF message = new StructuredSyslogMessage("[TEST]", null, m1, "testb");