Total Pageviews

2017/05/09

[webMethods] 如何在 Java Service 中印 debug log

Problem
假設我在 Java Service 中印出 debug log 來進行程式碼的 debug,該如何印

How-to
若是同步的作業,作法如下:
    public static void logger(String message) {
    
        IData input = IDataFactory.create();
        IDataCursor inputCursor = input.getCursor();
        IDataUtil.put(inputCursor, "message", message);
        IDataUtil.put(inputCursor, "function", "customLogger");
        IDataUtil.put(inputCursor, "level", "INFO");
        inputCursor.destroy();
    
        try {
            Service.doInvoke("pub.flow", "debugLog", input);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

若是非同步的作業,作法如下:
    public static void loggerAsync(Session session, String message) {
        IData input = IDataFactory.create();
        IDataCursor inputCursor = input.getCursor();
        IDataUtil.put(inputCursor, "message", message);
        IDataUtil.put(inputCursor, "function", "customLogger");
        IDataUtil.put(inputCursor, "level", "INFO");
        inputCursor.destroy();
    
        try {
            Service.doThreadInvoke("pub.flow", "debugLog", session, input);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


以下是列印 log 的呼叫方式:
    // 非同步作業的呼叫方式
    Session session = Service.getSession();
    loggerAsync(session, "Hello~ asynch log");
    
    // 同步作業的呼叫方式
    logger("Hello~ log");







No comments: