2014-01-06 67 views
0

我正在使用worklight 6.0,並且能夠使用WL.Logger.debug("msg");將數據記錄到控制檯。IBM Worklight 6.0 - 如何將日誌寫入文件並將其發回?

我的問題是:如何將所有這些日誌寫入文件?

我的要求是將這些日誌存儲在移動設備本身上,以便如果發生問題,用戶將能夠通過附加該日誌文件來報告問題。在應用程序中將出現一個菜單「報告問題」,如果用戶點擊該菜單,則會打開電子郵件並自動附加此日誌。

+0

其中 「控制檯」?你把這些日誌放在適配器代碼中嗎?應用代碼? JavaScript的? java嗎?測試/產品環境中使用的應用程序服務器是什麼...? –

+0

我想寫所有寫在應用程序代碼中的日誌,即javascript到文件。 Iam在測試環境中使用Websphere 8.5完整配置文件 – user2967626

+0

即時消息在應用程序js文件中編寫日誌語句,並且iam在worklight控制檯中看到這些不是特定於現在的環境,後來我需要用於andriod和iphone環境。但是當我在測試/生產環境中部署相同時,我需要查看所有日誌,我可以在哪裏查看以及我需要做什麼設置? – user2967626

回答

2

服務器端日誌(適配器)


客戶端登錄(應用程序)

  • The WL.Logger object(閱讀!)
  • 相關問題:How to use WL.Logger api to output log messages to a file

    如果你想存儲你的日誌行,然後發送它們回一些後端系統,可以use a Callback function to send the logs to a file on your server

    示例代碼:
    在此代碼logHandler()功能只處理我已經決定我要處理的包,通過創建一個新的Logger對象(「AppLogic的」)特定日誌我想登錄應用程序。

    什麼,你需要在自己的應用程序做,例如,而不是顯示alert()use the Cordova File API這些日誌行保存在一個文件,然後在必要時,送他們回去通過工作燈適配器後端或AJAX調用或電子郵件應用程序,等等。

    共同\ JS \ main.js:

    var appLogic = new WL.Logger.create({pkg: 'appLogic'}); 
    
    function wlCommonInit(){ 
        appLogic.debug("log from app"); 
    } 
    

    common \ js \ initOptions。JS:

    var wlInitOptions = { 
        connectOnStartup : false, 
        analytics : { 
         enabled: false 
         //url : '' 
        }, 
        logger : {enabled: true, level: 'debug', stringify: true, pretty: false, 
         tag: {level: false, pkg: true}, whitelist: [], blacklist: [], callback: logHandler},  
    }; 
    
    function logHandler(message, priority, pkg) { 
        if (pkg == 'appLogic') { 
         alert (message); 
        } 
    } 
    
    if (window.addEventListener) { 
        window.addEventListener('load', function() { WL.Client.init(wlInitOptions); }, false); 
    } else if (window.attachEvent) { 
        window.attachEvent('onload', function() { WL.Client.init(wlInitOptions); }); 
    } 
    
+0

謝謝阿丹。明白了。但是,我們可以將這些日誌存儲在移動設備本身嗎?需求是這樣的,我應該將日誌存儲在移動設備上。如果出現問題,用戶應該能夠通過附加該日誌文件來報告問題。將會出現菜單'報告問題',如果用戶點擊了這個菜單,電子郵件會自動打開並附帶此日誌。 – user2967626

+0

請參閱我編輯的答案,以可能的方式發回日誌文件。 –

+0

VAR wlInitOptions = { \t記錄:{啓用:真實,層次: '調試',字符串化:真實,漂亮的:假的, \t \t標籤:{級別:假的,PKG:真正},白名單:[],黑名單: [],回調:logHandler}, \t \t 分析:{ \t \t啓用:假 \t \t \t } \t \t \t}; (window.addEventListener){ \t window.addEventListener('load',function(){WL.Client.init(wlInitOptions);},false); (window.attachEvent){ \t window.attachEvent('onload',function(){WL.Client.init(wlInitOptions);}); } var logHandler = function(message,priority,pkg){ \t alert('Write in Log File'); }; – user2967626

相關問題