⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filepersistencelogobserver.java

📁 监控整个SP系统的SMS信息通道的发送情况并且生成日志。 支持权限判断。
💻 JAVA
字号:
package com.infobank.superchannel.observer.implementation;import java.util.List;import org.apache.log4j.Logger;import com.infobank.superchannel.daemon.GenericDaemon;import com.infobank.superchannel.daemon.databasecache.DatabaseCacheDaemon;import com.infobank.superchannel.daemon.messagelauncher.MessageLauncherDaemon;import com.infobank.superchannel.observer.LogObserver;import com.infobank.superchannel.pojo.GenericLog;import com.infobank.superchannel.util.DaemonConfiguration;import com.infobank.superchannel.util.EmergentAlert;public class FilePersistenceLogObserver implements LogObserver {  private Logger logger=null;    private String fatalAlert=null;    private String errorAlert=null;    private String warnAlert=null;  public FilePersistenceLogObserver(GenericDaemon daemon){    logger=Logger.getLogger(daemon.getClass());      String daemonType=null;      if(daemon instanceof DatabaseCacheDaemon){        daemonType="DatabaseCache";      }      else{        if(daemon instanceof MessageLauncherDaemon){          daemonType="MessageLauncher";        }        else          throw new RuntimeException("invalid daemon type");      }      DaemonConfiguration config=DaemonConfiguration.getInstance();      StringBuilder sb=new StringBuilder();      sb.append("/daemon[@type='");      sb.append(daemonType);      sb.append("']/observer[@type='LogObserver']/");      String basePath=sb.toString();      sb=new StringBuilder();      sb.append(basePath);      sb.append("alerts/alert[@level='fatal']");      fatalAlert=config.getString(sb.toString());            sb=new StringBuilder();      sb.append(basePath);      sb.append("alerts/alert[@level='error']");      errorAlert=config.getString(sb.toString());      sb=new StringBuilder();      sb.append(basePath);      sb.append("alerts/alert[@level='warn']");      warnAlert=config.getString(sb.toString());    }        private void sendAlert(String url){      if(url!=null)        new EmergentAlert(url);    }    /**   *  记载调试日志信息   * @param log 调试日志信息   */  public void debug(String log) {    logger.debug(log);  }  /**   *  记载错误信息   * @param log 错误信息   */  public void error(String log) {    logger.error(log);        sendAlert(errorAlert);  }  /**   *  记载致命错误信息   * @param log 致命错误信息   */  public void fatal(String log) {    logger.fatal(log);        sendAlert(fatalAlert);  }  /**   *  记载一般日志信息   * @param log 一般日志信息   */  public void info(String log) {    logger.info(log);  }  /**   *  取得自上次调用此方发以后新增的所有日志信息   * @return 自上次调用此方发以后新增的所有日志信息   * @deprecated   */  public List<GenericLog> getGenericLog() {    return null;  }  public void warn(String log) {    logger.warn(log);        sendAlert(warnAlert);  }  public void debug(Exception ex) {    logger.debug(ex,ex);  }  public void error(Exception ex) {    logger.error(ex,ex);        sendAlert(errorAlert);  }  public void fatal(Exception ex) {    logger.fatal(ex,ex);        sendAlert(fatalAlert);  }  public void info(Exception ex) {    logger.info(ex,ex);  }  public void warn(Exception ex) {    logger.warn(ex,ex);        sendAlert(warnAlert);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -