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

📄 staflog.java

📁 Software Testing Automation Framework (STAF)的开发代码
💻 JAVA
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF)                              *//* (C) Copyright IBM Corp. 2001                                              *//*                                                                           *//* This software is licensed under the Common Public License (CPL) V1.0.     *//*****************************************************************************/package com.ibm.staf.wrapper;import com.ibm.staf.*;import java.util.HashMap;// STAFLog - This class is a wrapper around the STAF logging service.//           It provides a set of constants for log types and levels.//           It provides a log() method to log a message.  It also interfaces//           with the MONITOR service for a user defined set of levels.  For//           these level STAFLog will also send the given message to the//           monitor service.  If there is an error logging, STAFLog will//           also try to send an error to the MONITOR service.public class STAFLog{    // Log type constants    public static final String GLOBAL  = "GLOBAL";    public static final String MACHINE = "MACHINE";    public static final String HANDLE  = "HANDLE";    // Log level constants (int format)    public static final int Fatal     = 0x00000001;    public static final int Error     = 0x00000002;    public static final int Warning   = 0x00000004;    public static final int Info      = 0x00000008;    public static final int Trace     = 0x00000010;    public static final int Trace2    = 0x00000020;    public static final int Trace3    = 0x00000040;    public static final int Debug     = 0x00000080;    public static final int Debug2    = 0x00000100;    public static final int Debug3    = 0x00000200;    public static final int Start     = 0x00000400;    public static final int Stop      = 0x00000800;    public static final int Pass      = 0x00001000;    public static final int Fail      = 0x00002000;    public static final int Status    = 0x00004000;    public static final int Reserved1 = 0x00008000;    public static final int Reserved2 = 0x00010000;    public static final int Reserved3 = 0x00020000;    public static final int Reserved4 = 0x00040000;    public static final int Reserved5 = 0x00080000;    public static final int Reserved6 = 0x00100000;    public static final int Reserved7 = 0x00200000;    public static final int Reserved8 = 0x00400000;    public static final int Reserved9 = 0x00800000;    public static final int User1     = 0x01000000;    public static final int User2     = 0x02000000;    public static final int User3     = 0x04000000;    public static final int User4     = 0x08000000;    public static final int User5     = 0x10000000;    public static final int User6     = 0x20000000;    public static final int User7     = 0x40000000;    public static final int User8     = 0x80000000;    // Log level constants (String format)    public static final String FatalStr     = "FATAL";    public static final String ErrorStr     = "ERROR";    public static final String WarningStr   = "WARNING";    public static final String InfoStr      = "INFO";    public static final String TraceStr     = "TRACE";    public static final String Trace2Str    = "TRACE2";    public static final String Trace3Str    = "TRACE3";    public static final String DebugStr     = "DEBUG";    public static final String Debug2Str    = "DEBUG2";    public static final String Debug3Str    = "DEBUG3";    public static final String StartStr     = "START";    public static final String StopStr      = "STOP";    public static final String PassStr      = "PASS";    public static final String FailStr      = "FAIL";    public static final String StatusStr    = "STATUS";    public static final String Reserved1Str = "RESERVED1";    public static final String Reserved2Str = "RESERVED2";    public static final String Reserved3Str = "RESERVED3";    public static final String Reserved4Str = "RESERVED4";    public static final String Reserved5Str = "RESERVED5";    public static final String Reserved6Str = "RESERVED6";    public static final String Reserved7Str = "RESERVED7";    public static final String Reserved8Str = "RESERVED8";    public static final String Reserved9Str = "RESERVED9";    public static final String User1Str     = "USER1";    public static final String User2Str     = "USER2";    public static final String User3Str     = "USER3";    public static final String User4Str     = "USER4";    public static final String User5Str     = "USER5";    public static final String User6Str     = "USER6";    public static final String User7Str     = "USER7";    public static final String User8Str     = "USER8";    // Constructors    public STAFLog(String type, String name, STAFHandle handle)    {        logName = name;        stafHandle = handle;        logType = type;        // This mask enables Fatal, Error, Warning, Start, Stop, Pass, Fail,        // and Status        monitorMask = 0x00007C07;    }    public STAFLog(String type, String name, STAFHandle handle, int mask)    {        logName = name;        stafHandle = handle;        logType = type;        monitorMask = mask;    }    // Methods to actually log a message with a given level    public STAFResult log(int level, String msg)    {        return STAFLog.log(stafHandle, logType, logName, level, msg,                           monitorMask);    }    public STAFResult log(String level, String msg)    {        return STAFLog.log(stafHandle, logType, logName, level, msg,                           monitorMask);    }    public static STAFResult log(STAFHandle theHandle, String type, String name,                                 int level, String msg)    {        return STAFLog.log(theHandle, type, name, level, msg, 0x00007C07);    }    public static STAFResult log(STAFHandle theHandle, String type, String name,                                 String levelText, String msg)    {        return STAFLog.log(theHandle, type, name, levelText, msg, 0x00007C07);    }    public static STAFResult log(STAFHandle theHandle, String type, String name,                                 int level, String msg, int mask)    {        String levelString = Integer.toBinaryString(level);        levelString = nullLevel.substring(0, 32 - levelString.length()) +                      levelString;        String logRequest = "LOG " + type + " LOGNAME :" + name.length() +                            ":" + name + "LEVEL " + levelString +                            " MESSAGE :" + msg.length() + ":" + msg;        STAFResult result = theHandle.submit2("LOCAL", "LOG", logRequest);        if (result.rc != 0)        {            STAFMonitor.log(theHandle, "Logging failed, RC: " + result.rc +                            ", on message: " + msg);        }        else if ((mask & level) == level)        {            result = STAFMonitor.log(theHandle, msg);        }        return result;    }        public static STAFResult log(STAFHandle theHandle, String type, String name,                                 String levelText, String msg, int mask)    {        // Convert textual version of level (e.g. "info") to Integer version        Integer levelInt = (Integer)levelMap.get(levelText.toUpperCase());        // Check if level string not found in levelMap        if (levelInt == null)        {            return new STAFResult(STAFResult.InvalidValue, levelText);        }        int level = levelInt.intValue();                String levelString = Integer.toBinaryString(level);        levelString = nullLevel.substring(0, 32 - levelString.length()) +                      levelString;        String logRequest = "LOG " + type + " LOGNAME :" + name.length() +                            ":" + name + "LEVEL " + levelString +                            " MESSAGE :" + msg.length() + ":" + msg;        STAFResult result = theHandle.submit2("LOCAL", "LOG", logRequest);        if (result.rc != 0)        {            STAFMonitor.log(theHandle, "Logging failed, RC: " + result.rc +                            ", on message: " + msg);        }        else if ((mask & level) == level)        {            result = STAFMonitor.log(theHandle, msg);        }        return result;    }    // Accessor methods    public String getName() { return logName; }    public String getLogType() { return logType; }    public int getMonitorMask() { return monitorMask; }    // Instance variables    private String logName;    private String level;    private STAFHandle stafHandle;    private String logType;    private int monitorMask;    // Private static variables    private static final String nullLevel = "0000000000000000000000000000000";    // Log Level Map to convert from String format to int format     private static HashMap levelMap = new HashMap();        static    {        levelMap.put(FatalStr,     new Integer(Fatal));        levelMap.put(ErrorStr,     new Integer(Error));        levelMap.put(WarningStr,   new Integer(Warning));        levelMap.put(InfoStr,      new Integer(Info));        levelMap.put(TraceStr,     new Integer(Trace));        levelMap.put(Trace2Str,    new Integer(Trace2));        levelMap.put(Trace3Str,    new Integer(Trace3));        levelMap.put(DebugStr,     new Integer(Debug));        levelMap.put(Debug2Str,    new Integer(Debug2));        levelMap.put(Debug3Str,    new Integer(Debug3));        levelMap.put(StartStr,     new Integer(Start));        levelMap.put(StopStr,      new Integer(Stop));        levelMap.put(PassStr,      new Integer(Pass));        levelMap.put(FailStr,      new Integer(Fail));        levelMap.put(StatusStr,    new Integer(Status));        levelMap.put(Reserved1Str, new Integer(Reserved1));        levelMap.put(Reserved2Str, new Integer(Reserved2));        levelMap.put(Reserved3Str, new Integer(Reserved3));        levelMap.put(Reserved4Str, new Integer(Reserved4));        levelMap.put(Reserved5Str, new Integer(Reserved5));        levelMap.put(Reserved6Str, new Integer(Reserved6));        levelMap.put(Reserved7Str, new Integer(Reserved7));        levelMap.put(Reserved8Str, new Integer(Reserved8));        levelMap.put(Reserved9Str, new Integer(Reserved9));        levelMap.put(User1Str,     new Integer(User1));        levelMap.put(User2Str,     new Integer(User2));        levelMap.put(User3Str,     new Integer(User3));        levelMap.put(User4Str,     new Integer(User4));        levelMap.put(User5Str,     new Integer(User5));        levelMap.put(User6Str,     new Integer(User6));        levelMap.put(User7Str,     new Integer(User7));        levelMap.put(User8Str,     new Integer(User8));    }}

⌨️ 快捷键说明

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