Package sos.scheduler.editor.app

Source Code of sos.scheduler.editor.app.ErrorLog

/********************************************************* begin of preamble
**
** Copyright (C) 2003-2010 Software- und Organisations-Service GmbH.
** All rights reserved.
**
** This file may be used under the terms of either the
**
**   GNU General Public License version 2.0 (GPL)
**
**   as published by the Free Software Foundation
**   http://www.gnu.org/licenses/gpl-2.0.txt and appearing in the file
**   LICENSE.GPL included in the packaging of this file.
**
** or the
** 
**   Agreement for Purchase and Licensing
**
**   as offered by Software- und Organisations-Service GmbH
**   in the respective terms of supply that ship with this file.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
** POSSIBILITY OF SUCH DAMAGE.
********************************************************** end of preamble*/
package sos.scheduler.editor.app;
/**
*
*/

/**
* @author mo
*
*/


import sos.util.SOSStandardLogger;
import sos.util.SOSClassUtil;

public class ErrorLog extends Exception {

  private  static  SOSStandardLogger logger = null
 
  public ErrorLog(String msg) {
    super();
    try {

      init()
      logger.info(msg);       
    } catch(Exception ex){     
      System.out.println(ex.getMessage());     
    }
  }
 
  public ErrorLog(String msg, Exception e) {
    super();   
   
    try {
     
      init()
      logger.info(msg);
     
      if(logger.getLogLevel() > 6)
        logger.info(getErrorMessage(e));
     
     
         
    } catch(Exception ex){     
      System.out.println(ex.getMessage());     
    }
       
  }


  /**
   * @param args
   */
  public static void main(String[] args) throws ErrorLog{
 
    try {

      throw new Exception("Testerror");

    } catch(Exception e) {

     
      new ErrorLog("mein Testerror", e);

    }
  }
 
  private static void init() {
    String filename = "";
    try {
      if(logger != null)
        return;
      //filename = "C:/temp/editor.log";
      filename = sos.scheduler.editor.app.Options.getSchedulerData();
      if(filename.endsWith("/") || filename.endsWith("\\"))
        filename = filename + "logs";
      else
        filename = filename + "/logs";
     
     
      if(!new java.io.File(filename).exists())
        new java.io.File(filename).mkdirs();
     
      filename = filename+ "/scheduler_editor.log";
       
      if(logger == null)
        logger = new SOSStandardLogger(filename, SOSStandardLogger.DEBUG1);
     
    } catch(Exception e) {
      try {
        if(logger != null)
          logger.debug("error in " + SOSClassUtil.getMethodName() + ", cause: " + e.getMessage());
      } catch(Exception f) {       

      }
    } finally {
     
    }
  }

  public String getErrorMessage(Exception ex) {
    String s = "";

    try {
      Throwable tr = ex.getCause();

      if(ex.toString() != null)
        s = ex.toString();

      while (tr != null){
        if(s.indexOf(tr.toString()) == -1)
          s = (s.length() > 0 ? s + ", " : "") + tr.toString();
        tr = tr.getCause();
      }


    } catch (Exception e) {
      System.out.println(e.getMessage());
    }
    return s;
  }

  public static SOSStandardLogger getLogger() {
    if(logger == null)
      init();
    return logger;
  }
}
TOP

Related Classes of sos.scheduler.editor.app.ErrorLog

TOP
Copyright © 2018 www.massapi.com. 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.