Ibm mobilefirst 启用/禁用Worklight应用程序中的日志记录
我们正在使用WL enterprise 6.2.0.1开发WL应用程序。我们有四个环境(Dev/QA/UAT和PROD) 我们的应用程序正在服务器上记录用户凭据(文件:SystemOut.log),这对于开发环境来说是正常的。然而,当我们需要将构建移动到QA和UAT时,我们需要禁用日志记录,因为这是一个安全的观点,我们不能继续生产 我们所做的是将以下代码添加到initOptions.js中:Ibm mobilefirst 启用/禁用Worklight应用程序中的日志记录,ibm-mobilefirst,Ibm Mobilefirst,我们正在使用WL enterprise 6.2.0.1开发WL应用程序。我们有四个环境(Dev/QA/UAT和PROD) 我们的应用程序正在服务器上记录用户凭据(文件:SystemOut.log),这对于开发环境来说是正常的。然而,当我们需要将构建移动到QA和UAT时,我们需要禁用日志记录,因为这是一个安全的观点,我们不能继续生产 我们所做的是将以下代码添加到initOptions.js中: var bEnableConsoleLog = false; // Enable Disable the
var bEnableConsoleLog = false; // Enable Disable the logging
var wlInitOptions = {
...
...
...
logger : {
enabled : bEnableConsoleLog},};
var disableLogging = function() {
WL.Logger.info("##### LOG ENABLED ?? => " + bEnableConsoleLog);
if (bEnableConsoleLog == false)
{
WL.Logger.config({
enabled : false,
level : 'info'
});
console.log = function() {
}.bind(console.log);
console.error = function() {
}.bind(console.error);
}
};
if (window.addEventListener) {
window.addEventListener('load', function() {
WL.Client.init(wlInitOptions);
disableLogging();
}, false);
} else if (window.attachEvent) {
window.attachEvent('onload', function() {
WL.Client.init(wlInitOptions);
disableLogging();
});
}
disableLogging();
WL.Logger
.info("######################## WL.Logger.info ENABLED ############################");
console
.log("######################## console.log ENABLED ############################");
console
.error("######################## console.error ENABLED ############################");
通过设置值var bEnableConsoleLog=(真/假)代码>我们认为可以启用或禁用日志记录,但它似乎仍在记录凭据
有什么办法可以解决这个问题吗?我认为WL.Logger.config上没有基于的“已启用”选项。您可以将“捕获”选项设置为false,这将禁用保存客户端日志并将其发送到服务器
如果您的客户端正在日志语句中记录用户凭据,则仅应根据“捕获”为真(默认值)和您使用的日志语句为“级别”或更高的值来发送该信息。考虑到上面的WL.Logger.config(),这意味着WL.Logger.info()将被发送到服务器,而WL.Logger.debug()则不会。有关更多信息,请参阅
请注意,所有这些仅适用于客户端发出的WL.Logger调用。如果您正在服务器端代码中记录用户凭据(例如使用Java logger),则记录的内容将基于服务器上配置的日志级别;客户端日志配置将不起作用