1   package ch.qos.logback.classic.net;
2   
3   import org.slf4j.LoggerFactory;
4   
5   import ch.qos.logback.classic.Logger;
6   import ch.qos.logback.classic.LoggerContext;
7   import ch.qos.logback.core.util.StatusPrinter;
8   
9   public class JMSTopicAppenderTestApp {
10    
11    public static void main(String[] args) {
12      Logger logger = (Logger)LoggerFactory.getLogger(JMSTopicAppenderTestApp.class);
13      LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
14      lc.reset();
15      
16      JMSTopicAppender appender = new JMSTopicAppender();
17      appender.setContext(lc);
18      appender.setName("jmsTopic");
19      appender.setInitialContextFactoryName("org.apache.activemq.jndi.ActiveMQInitialContextFactory");
20      //appender.setPassword("");
21      appender.setProviderURL("tcp://localhost:61616");
22      //appender.setSecurityCredentials("");
23      //appender.setSecurityPrincipalName("");
24      appender.setTopicBindingName("MyTopic");
25      appender.setTopicConnectionFactoryBindingName("ConnectionFactory");
26      //appender.setURLPkgPrefixes("");
27      //appender.setUserName("");
28      
29      appender.start();
30      logger.addAppender(appender);
31      
32      
33      //JIT
34      for (int i = 0; i < 10000; i++) {
35        logger.debug("** Hello world. n=" + i);
36      }
37      
38      long before = System.nanoTime();
39      for (int i = 0; i < 10000; i++) {
40        logger.debug("** Hello world. n=" + i);
41      }
42      long after = System.nanoTime();
43      
44      System.out.println("Time per logs for 10'000 logs: " + (after-before)/10000);
45      
46      StatusPrinter.print(lc.getStatusManager());
47    }
48  
49  }