【问题标题】:Turn off browser console.log in angular 2 [duplicate]在角度2中关闭浏览器console.log [重复]
【发布时间】:2016-12-09 10:36:34
【问题描述】:

我已经阅读了有关关闭 console.log 以在浏览器控制台中打印的不同帖子,但找不到 angular 2 的任何解决方案。这是我想要实现的目标:angular 2 中的功能我可以关闭浏览器 console.log(可能在后端)。我正在考虑一个函数,或者可能是一个默认浏览器属性,当我调用 console.log 时,可以切换它以关闭浏览器控制台中的消息打印。

请给我一个正确的方向来实现这一目标..谢谢!

【问题讨论】:

  • 可能会覆盖console.log函数并设置一个布尔变量来打开和关闭被覆盖的函数。 stackoverflow.com/questions/7042611/…
  • 这可能是一个解决方案,但它更像是一种 hacky 方式。如果可能的话,我正在尝试提出一个实际上禁用后端控制台的解决方案..
  • 这似乎是一件很奇怪的事情。诸如 babel、webpack、gulp、grunt 之类的编译阶段都可以在任何小型化任务中去除这些。我真的不明白为什么在开发阶段禁用日志有任何好处。 Perhpas 通过了解您的原因可能有助于更好的社区响应。
  • 欺骗中的解决方案应该足够了。控制台中是否有安全关键信息?
  • 抱歉,这是一个标准化流程,应该真正执行。在生产构建过程中剥离任何基于开发的代码。没有黑客。没有覆盖本机全局变量或辅助方法。使用任务运行器/编译器。这就是他们存在的目的!

标签: javascript typescript angular console.log


【解决方案1】:

this 可能重复

var logger = function()
{
    var oldConsoleLog = null;
    var pub = {};

    pub.enableLogger =  function enableLogger() 
                        {
                            if(oldConsoleLog == null)
                                return;

                            window['console']['log'] = oldConsoleLog;
                        };

    pub.disableLogger = function disableLogger()
                        {
                            oldConsoleLog = console.log;
                            window['console']['log'] = function() {};
                        };

    return pub;
}();

$(document).ready(
    function()
    {
        console.log('hello');

        logger.disableLogger();
        console.log('hi', 'hiya');
        console.log('this wont show up in console');

        logger.enableLogger();
        console.log('This will show up!');
    }
 );

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-26
  • 2021-12-23
  • 2014-02-21
  • 1970-01-01
  • 2019-01-10
  • 1970-01-01
相关资源
最近更新 更多