IBM Worklight 6.0 - 如何在适配器中启用/查看 WL.Logger.debug?

Posted

技术标签:

【中文标题】IBM Worklight 6.0 - 如何在适配器中启用/查看 WL.Logger.debug?【英文标题】:IBM Worklight 6.0 - How to enable/view WL.Logger.debug in adapters? 【发布时间】:2013-12-10 11:58:58 【问题描述】:

我已经实现了以下简单的 HTTP 适配器,以便向 Worklight 适配器介绍自己。它工作正常。

但是,我在 Eclipse Worklight 控制台中看不到我的 WL.logger.debug 语句!

我尝试配置 logging.properties 和 server.xml,如 in this Information Center article 所示,但它没有显示调试行(请求和结果)。

有什么建议吗?

JS:

 function currencyConvertor(data) 

            var request =
                <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
                      <soap:Body>
                       <ConversionRate xmlns="http://www.webserviceX.NET/">
                          <FromCurrency>data.fromCurrency</FromCurrency>
                          <ToCurrency>data.toCurrency</ToCurrency>
                        </ConversionRate>
                       </soap:Body>
                 </soap:Envelope>;

                 WL.Logger.debug("request start ---------");
                     WL.Logger.debug(request); 
                     WL.Logger.debug("request end --------");

                 var input = 
                               method : 'post',
                               returnedContentType : 'xml',
                               path : '/CurrencyConvertor.asmx',
                               body: 
                                       content: request.toString(),
                                       contentType: 'text/xml; charset=utf-8'
                                      
                              ;

                 var result = WL.Server.invokeHttp(input);

                 WL.Logger.debug("result start ---------");
                     WL.Logger.debug(result); 
                     WL.Logger.debug("result end --------");

                 return result.Envelope.Body;
        

【问题讨论】:

您只提到了编辑 logging.properties... 您是否也关注了 IC 文章中的第二部分,标题为“更改 Worklight Console Server 控制台日志记录级别”?确保您也这样做了,否则您将看不到日志行。您也没有提及在哪里可以查看这些日志行... 是的,我做到了。我无法查看这些日志行。我希望在 Eclipse 的 Worklight 控制台中看到它们。 目前我只能看到:[2013-12-10 13:48:25] 在 Worklight Server 上启动过程调用 [2013-12-10 13:48:25] 未部署适配器“soapAdapter”因为它自上次部署以来没有更改 [2013-12-10 13:48:25] 调用过程:适配器“soapAdapter”的“currencyConvertor” [2013-12-10 13:48:25] 服务器主机:10.87.153.152 [ 2013-12-10 13:48:25] 服务器端口:10080 [2013-12-10 13:48:25] 参数:["fromCurrency":"AWG", "toCurrency":"AUD"] [2013 -12-10 13:48:25] 过程调用完成 否,日志行不会显示在 Eclipse 的 Worklight 控制台中。它们显示在 Worklight Development Server 控制台视图中。您需要更改为控制台视图,然后在其中切换到服务器控制台。请参阅下面的答案。 【参考方案1】:

WebSphere Liberty 配置文件不支持 Worklight Development Server Console 视图中的调试级别日志记录。

您可以使用WL.Logger.debug和编辑server.xml查看trace.log文件中的日志

    在 Eclipse 中打开服务器视图 扩展 Worklight Development Server 条目 双击服务器配置 (server.xml) 切换到源标签 取消注释此行:&lt;logging traceSpecification="com.worklight.*=debug=enabled"/&gt; 调用适配器过程后,您将在&lt;eclipseWorkspace&gt;\WorklightServerConfig\servers\worklight\logs\trace.log 找到日志

请务必在尝试查看日志之前重新部署适配器。

或者, 您可以使用WL.Logger.warnWL.Logger.error;这些日志显示在 Worklight Development Server 控制台视图中。

【讨论】:

WL.Logger.info 呢? 如果您想将其限制为适配器调用 (com.worklight.adapters=debug:com.worklight.integration=debug)【参考方案2】:

尝试使用 WL.Server.info() 而不是 .debug()。 一般来说 - 请参阅这篇博文,它解释了很多关于调试和日志记录的内容 https://www.ibm.com/developerworks/community/blogs/worklight/entry/logging_and_debugging_on_worklight_server?lang=en

【讨论】:

以上是关于IBM Worklight 6.0 - 如何在适配器中启用/查看 WL.Logger.debug?的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight 6.0 - 调用适配器过程时出错

IBM Worklight 6.0 - 将适配器部署到 Worklight Server 后出现 wl_antiXSRFRealm 错误

IBM Worklight 6.0 - 适配器身份验证失败:“服务器无法处理来自应用程序的请求”

IBM Worklight 6.0 - 如果客户端注销/登录,具有基本身份验证的适配器不会更新身份验证标头

IBM Worklight 6.0 - 使用 Web 服务的混合应用程序无法在实际设备上运行?

IBM Worklight - 基于 6.1 构建的项目不会部署在 6.1 服务器上,说我需要使用 6.0