Changeset 8127


Ignore:
Timestamp:
Mar 9, 2023, 2:54:41 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

Reverted the ServiceControllerAction to the original API. Services that need a logger should call ExtensionsLog.createLogger().

Location:
branches/3.19-stable/src
Files:
5 edited

Legend:

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

    r8125 r8127  
    2929import net.sf.basedb.util.extensions.ActionFactory;
    3030import net.sf.basedb.util.extensions.InvokationContext;
    31 import net.sf.basedb.util.extensions.logging.ExtensionsLogger;
    32 import net.sf.basedb.util.extensions.logging.LogLevel;
    3331
    3432/**
     
    8886 
    8987  @Override
    90   public void start(final ExtensionsLogger logger)
     88  public void start()
    9189  {
    9290    if (running) return;
     
    9997        public void run()
    10098        {
    101           logger.log(LogLevel.INFO, "Timeout expired!");
    10299          System.out.println(extensionId + ": " + new Date());
    103100        }
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/ServiceControllerAction.java

    r8125 r8127  
    2323
    2424import net.sf.basedb.util.extensions.Action;
    25 import net.sf.basedb.util.extensions.logging.ExtensionsLogger;
    2625
    2726/**
     
    5150    is called on a running service it should do nothing. If the service can't
    5251    be started it may throw an exception.
    53     @deprecated In 3.19.8, implement the {@link #start(ExtensionsLogger)}
    54       method instead. This method will never be called from the BASE
    55       core except for the default implementation of {@link #start(ExtensionsLogger)}.
    5652  */
    57   @Deprecated
    58   public default void start()
    59   {}
    60  
    61   /**
    62     Start the service if it is not already running. If this method
    63     is called on a running service it should do nothing. If the service can't
    64     be started it may throw an exception.
    65     <p>
    66     The default implementation of this method simply call the {@link #start()}
    67     method.
    68    
    69     @param logger A logger that the service can use to send log message
    70       The system will automatically create "Service started/stopped"
    71       messages.
    72     @since 3.19.8
    73   */
    74   public default void start(ExtensionsLogger logger)
    75   {
    76     start();
    77   }
     53  public void start();
    7854 
    7955  /**
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/StartServiceRenderer.java

    r8125 r8127  
    2626import net.sf.basedb.util.extensions.logging.ExtensionsLog;
    2727import net.sf.basedb.util.extensions.logging.ExtensionsLogger;
    28 import net.sf.basedb.util.extensions.logging.LogLevel;
    2928
    3029/**
     
    5251  {
    5352    log.info("Starting service: " + service);
    54     ExtensionsLogger logger = ExtensionsLog.getLogger(ext.getId(), true);
    55     service.start(logger);
    56     logger.log(LogLevel.INFO, "Service started");
     53    service.start();
     54    ExtensionsLogger logger = ExtensionsLog.createLogger(ext.getId());
     55    if (service.isRunning())
     56    {
     57      logger.info("Service started");
     58    }
     59    else
     60    {
     61      logger.error("Service failed to start");
     62    }
    5763    log.info("Starting service done: " + service);
    5864  }
  • branches/3.19-stable/src/clients/web/net/sf/basedb/clients/web/extensions/service/StopServiceRenderer.java

    r8125 r8127  
    2525import net.sf.basedb.util.extensions.logging.ExtensionsLog;
    2626import net.sf.basedb.util.extensions.logging.ExtensionsLogger;
    27 import net.sf.basedb.util.extensions.logging.LogLevel;
    2827import net.sf.basedb.util.extensions.AbstractRenderer;
    2928
     
    5554    service.stop();
    5655    ExtensionsLogger logger = ExtensionsLog.getLogger(ext.getId(), false);
    57     if (logger != null) logger.log(LogLevel.INFO, "Service stopped");
     56    if (logger != null) logger.info("Service stopped");
    5857    log.info("Stopping service done: " + service);
    5958  }
  • branches/3.19-stable/src/core/net/sf/basedb/util/extensions/logging/ExtensionsLog.java

    r8125 r8127  
    7474    return log == null ? null : log.createLogger();
    7575  }
    76  
     76
     77  /**
     78    Create a logger that can add entries to the log for the given extension.
     79    If the log doesn't exists yet, it is be created.
     80  */
     81  public static ExtensionsLogger createLogger(String extensionId)
     82  {
     83    return getLog(extensionId, true).createLogger();
     84  }
     85
    7786  private final String extensionId;
    7887  private final Deque<LogEntry> logEntries;
Note: See TracChangeset for help on using the changeset viewer.