Changeset 8118


Ignore:
Timestamp:
Feb 22, 2023, 3:12:58 PM (7 months ago)
Author:
Nicklas Nordborg
Message:

References #2295: Add API for services to send log messages that can be displayed by the web client

Added ServiceLog class which is intended to be the main class for keeping the log for a single extension.

Location:
branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/DummyService.java

    r8117 r8118  
    2525import java.util.TimerTask;
    2626
    27 import net.sf.basedb.clients.web.extensions.service.ServiceLogger.LogLevel;
     27import net.sf.basedb.clients.web.extensions.service.ServiceLog.LogLevel;
    2828import net.sf.basedb.core.Application;
    2929import net.sf.basedb.util.Values;
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/ServiceLogger.java

    r8117 r8118  
    11package net.sf.basedb.clients.web.extensions.service;
     2
     3import net.sf.basedb.clients.web.extensions.service.ServiceLog.LogLevel;
     4import net.sf.basedb.clients.web.extensions.service.ServiceLog.LogEntry;
    25
    36/**
     
    1922public class ServiceLogger
    2023{
    21   private final String extensionId;
     24  private final ServiceLog log;
    2225 
    23   ServiceLogger(String extensionId)
     26  ServiceLogger(ServiceLog log)
    2427  {
    25     this.extensionId = extensionId;
     28    this.log = log;
     29  }
     30 
     31  public boolean isDebugEnabled()
     32  {
     33    return log.isDebugEnabled();
    2634  }
    2735 
    2836  public void log(LogLevel level, String msg)
    2937  {
    30     // TODO
    31     System.out.println(extensionId+" [" + level.name()+"]: "+msg);
     38    log.add(new LogEntry(level, msg, null));
    3239  }
    3340 
    34   public void log(LogLevel level, String msg, Throwable stacktrace)
     41  public void log(LogLevel level, String msg, Throwable t)
    3542  {
    36     // TODO
    37     System.out.println(extensionId+" [" + level.name()+"]: "+msg);
    38     if (stacktrace != null)
    39     {
    40       stacktrace.printStackTrace(System.out);
    41     }
     43    log.add(new LogEntry(level, msg, t));
    4244  }
    4345 
    44   /**
    45     The level of the log message.
    46   */
    47   public enum LogLevel
    48   {
    49     INFO,
    50     WARNING,
    51     ERROR,
    52     DEBUG
    53   }
    54 
    5546}
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/ServicesEventHandler.java

    r8117 r8118  
    5656  public void handleEvent(EventType event, ExtensionPoint<?> extensionPoint, Extension<?> extension)
    5757  {
    58     System.out.println("handleEvent:"+event+": " + extension.getId());
    5958    if (log.isInfoEnabled())
    6059    {
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/StartServiceRenderer.java

    r8117 r8118  
    2222package net.sf.basedb.clients.web.extensions.service;
    2323
    24 import net.sf.basedb.clients.web.extensions.service.ServiceLogger.LogLevel;
     24import net.sf.basedb.clients.web.extensions.service.ServiceLog.LogLevel;
    2525import net.sf.basedb.util.extensions.AbstractRenderer;
    2626import net.sf.basedb.util.extensions.Extension;
     
    5050  {
    5151    log.info("Starting service: " + service);
    52     ServiceLogger logger = new ServiceLogger(ext.getId());
     52    ServiceLogger logger = ServiceLog.getLogger(ext.getId(), true);
    5353    service.start(logger);
    5454    logger.log(LogLevel.INFO, "Service started");
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/StopServiceRenderer.java

    r8117 r8118  
    2222package net.sf.basedb.clients.web.extensions.service;
    2323
    24 import net.sf.basedb.clients.web.extensions.service.ServiceLogger.LogLevel;
    2524import net.sf.basedb.util.extensions.Extension;
     25import net.sf.basedb.clients.web.extensions.service.ServiceLog.LogLevel;
    2626import net.sf.basedb.util.extensions.AbstractRenderer;
    2727
     
    5252    log.info("Stopping service: " + service);
    5353    service.stop();
    54     ServiceLogger logger = new ServiceLogger(ext.getId()); // TODO -- we need information about the extension!
    55     logger.log(LogLevel.INFO, "Service stopped");
     54    ServiceLogger logger = ServiceLog.getLogger(ext.getId(), false);
     55    if (logger != null) logger.log(LogLevel.INFO, "Service stopped");
    5656    log.info("Stopping service done: " + service);
    5757  }
Note: See TracChangeset for help on using the changeset viewer.