我正在使用worklight 6.0,並且能夠使用WL.Logger.debug("msg");
將數據記錄到控制檯。IBM Worklight 6.0 - 如何將日誌寫入文件並將其發回?
我的問題是:如何將所有這些日誌寫入文件?
我的要求是將這些日誌存儲在移動設備本身上,以便如果發生問題,用戶將能夠通過附加該日誌文件來報告問題。在應用程序中將出現一個菜單「報告問題」,如果用戶點擊該菜單,則會打開電子郵件並自動附加此日誌。
我正在使用worklight 6.0,並且能夠使用WL.Logger.debug("msg");
將數據記錄到控制檯。IBM Worklight 6.0 - 如何將日誌寫入文件並將其發回?
我的問題是:如何將所有這些日誌寫入文件?
我的要求是將這些日誌存儲在移動設備本身上,以便如果發生問題,用戶將能夠通過附加該日誌文件來報告問題。在應用程序中將出現一個菜單「報告問題」,如果用戶點擊該菜單,則會打開電子郵件並自動附加此日誌。
服務器端日誌(適配器):
相關問題:Worklight 5.0.6.1 - System.out.println() logging from Worklight adapter is not working
基本上,您需要更改的日誌記錄級別應用服務器的server.xml
爲了能夠查看不同的日誌記錄數據。您還可以決定哪個文件將包含這些日誌(默認情況下爲messages.log) - 請參閱基於您的應用程序服務器的位置文檔。
客戶端登錄(應用程序):
相關問題: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); }); }
謝謝阿丹。明白了。但是,我們可以將這些日誌存儲在移動設備本身嗎?需求是這樣的,我應該將日誌存儲在移動設備上。如果出現問題,用戶應該能夠通過附加該日誌文件來報告問題。將會出現菜單'報告問題',如果用戶點擊了這個菜單,電子郵件會自動打開並附帶此日誌。 – user2967626
請參閱我編輯的答案,以可能的方式發回日誌文件。 –
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
其中 「控制檯」?你把這些日誌放在適配器代碼中嗎?應用代碼? JavaScript的? java嗎?測試/產品環境中使用的應用程序服務器是什麼...? –
我想寫所有寫在應用程序代碼中的日誌,即javascript到文件。 Iam在測試環境中使用Websphere 8.5完整配置文件 – user2967626
即時消息在應用程序js文件中編寫日誌語句,並且iam在worklight控制檯中看到這些不是特定於現在的環境,後來我需要用於andriod和iphone環境。但是當我在測試/生產環境中部署相同時,我需要查看所有日誌,我可以在哪裏查看以及我需要做什麼設置? – user2967626