Package org.osgi.service.log

Examples of org.osgi.service.log.LogReaderService


         // Get LogReaderService through BundleContext.
         // Add itself to the LogReaderService as a LogListener.
         BundleContext context = Activator.getContext();
         ServiceReference logReaderServiceReference =
           context.getServiceReference(LogReaderService.class.getName());
         LogReaderService logReaderService =
           (LogReaderService) context.getService(logReaderServiceReference);
        
         if (logReaderService != null) {
           logReaderService.addLogListener(this);  
          
           Enumeration backLogEntries = logReaderService.getLog();
          
           while (backLogEntries.hasMoreElements()) {
             LogEntry logEntry = (LogEntry) backLogEntries.nextElement();
             this.logged(logEntry);
           }
View Full Code Here


        .getServiceReferences(LogReaderService.class, serviceFilter);

   
    if (serviceReferences != null) {
      for (ServiceReference<LogReaderService> serviceReference : serviceReferences) {
        LogReaderService reader = bundleContext
            .getService(serviceReference);
        this.logReaders.add(reader);
        reader.addLogListener(this.fileLogger);
        reader.addLogListener(this.consoleLogger);
      }
     
     
      // Add the ServiceListener, but with a filter so that we only
      // receive events related to LogReaderService
View Full Code Here

        }
    }

    private class LogReaderServiceCustomizer implements ServiceTrackerCustomizer {
        public Object addingService(ServiceReference serviceReference) {
            LogReaderService logReaderService = (LogReaderService) bc.getService(serviceReference);
            logReaderService.addLogListener(Activator.this);
            return logReaderService;
        }
View Full Code Here

        public void modifiedService(ServiceReference serviceReference, Object o) {
            // ignore
        }

        public void removedService(ServiceReference serviceReference, Object o) {
            LogReaderService logReaderService = (LogReaderService) o;
            logReaderService.removeLogListener(Activator.this);
        }
View Full Code Here

        try
        {
            ServiceReference sr = bundleContext.getServiceReference(LogService.class.getName());
            LogService logService = (LogService) bundleContext.getService(sr);
            sr = bundleContext.getServiceReference(LogReaderService.class.getName());
            LogReaderService logReaderService = (LogReaderService) bundleContext.getService(sr);

            final int NUM_LISTENERS = 100;
            final int NUM_MESSAGES = 1000;
            final AtomicReference<CountDownLatch> latch = new AtomicReference<CountDownLatch>();
            final AtomicInteger count = new AtomicInteger();
            final AtomicBoolean error = new AtomicBoolean(false);
            LogListener listener;
            logReaderService.addLogListener(listener = new LogListener()
            {
                int counter = 0;

                public void logged(LogEntry entry)
                {
                    error.set(error.get() || !("Test" + (counter++)).equals(entry.getMessage()));

                    count.incrementAndGet();
                    latch.get().countDown();
                }
            });

            for (int i = 1; i < NUM_LISTENERS; i++)
            {
                logReaderService.addLogListener(new LogListener()
                {
                    int counter = 0;

                    public void logged(LogEntry entry)
                    {
                        error.set(error.get() || !("Test" + (counter++)).equals(entry.getMessage()));
                        latch.get().countDown();
                    }
                });
            }

            latch.set(new CountDownLatch(NUM_LISTENERS * NUM_MESSAGES));
            for (int i = 0; i < NUM_MESSAGES; i++) logService.log(LogService.LOG_INFO, "Test" + i);

            Enumeration enumeration = logReaderService.getLog();
            for (int i = 0; i < 100; i++)
            {
                LogEntry logEntry = (LogEntry) enumeration.nextElement();
                assertEquals("Test" + (999 - i), logEntry.getMessage());
            }

            assertFalse(enumeration.hasMoreElements());

            latch.get().await();

            assertEquals(NUM_MESSAGES, count.get());
            assertFalse(error.get());

            logReaderService.removeLogListener(listener);

            latch.set(new CountDownLatch((NUM_LISTENERS - 1) * NUM_MESSAGES));
            for (int i = 0; i < NUM_MESSAGES; i++) logService.log(LogService.LOG_INFO, "Test" + i);

            latch.get().await();
View Full Code Here

        org.osgi.service.log.LogReaderService.class.getName(), null);
    logReaderTracker.open();
    Object[] readers = logReaderTracker.getServices();
    if (readers != null) {
      for (int i = 0; i < readers.length; i++) {
        LogReaderService lrs = (LogReaderService) readers[i];
        logReaders.add(lrs);
        lrs.addLogListener(persistLogListener);
      }
    }

    logReaderTracker.close();
View Full Code Here

  /**
   * Stop the log service, this will remove all listeners.
   */
  public static void stop() {
    for (Iterator<LogReaderService> i = logReaders.iterator(); i.hasNext();) {
      LogReaderService lrs = i.next();
      lrs.removeLogListener(persistLogListener);
      i.remove();
    }
  }
View Full Code Here

                                enabled = true;
                            }
                            activator.logReaderServiceReference = activator.context.getServiceReference("org.osgi.service.log.LogReaderService");
                            if (activator.logReaderServiceReference != null)
                            {
                                LogReaderService logReaderService = (LogReaderService) activator.context.getService(activator.logReaderServiceReference);
                                OSGiLogHandler.setLogReaderService(logReaderService);
                            }
                        }
                        catch (Exception e)
                        {
View Full Code Here

    public void start(final BundleContext ctx) throws Exception {
        logger.info("Starting LogReaderService tracker");
        ServiceTracker tracker = new ServiceTracker(ctx, LogReaderService.class.getName(), null) {
            @Override
            public Object addingService(ServiceReference reference) {
                LogReaderService lrs = (LogReaderService) ctx.getService(reference);
                lrs.addLogListener(logListener);
                return super.addingService(reference);
            }
           
            @Override
            public void removedService(ServiceReference reference, Object service) {
                super.removedService(reference, service);
                LogReaderService lrs = (LogReaderService) service;
                lrs.removeLogListener(logListener);
            }
        };
        tracker.open();
    }
View Full Code Here

         ServiceTrackerCustomizer<LogReaderService, LogReaderService> {

  public LogReaderService addingService(
    ServiceReference<LogReaderService> serviceReference) {

    LogReaderService logReaderService = _bundleContext.getService(
      serviceReference);

    logReaderService.addLogListener(this);

    return logReaderService;
  }
View Full Code Here

TOP

Related Classes of org.osgi.service.log.LogReaderService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.