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 JMSQueueAppenderTestApp {
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      JMSQueueAppender appender = new JMSQueueAppender();
17      appender.setContext(lc);
18      appender.setName("jmsQueue");
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.setQueueBindingName("MyQueue");
25      appender.setQueueConnectionFactoryBindingName("ConnectionFactory");
26      //appender.setURLPkgPrefixes("");
27      //appender.setUserName("");
28      
29      appender.start();
30      logger.addAppender(appender);
31      
32      //JIT
33      for (int i = 0; i < 10000; i++) {
34        logger.debug("** Hello world. n=" + i);
35      }
36      
37      long before = System.nanoTime();
38      for (int i = 0; i < 10000; i++) {
39        logger.debug("** Hello world. n=" + i);
40      }
41      long after = System.nanoTime();
42      
43      System.out.println("Time per logs for 10'000 logs: " + (after-before)/10000);
44      
45      StatusPrinter.print(lc.getStatusManager());
46    }
47  
48  }