禁用 Node.JS 中的日志记录

2024-02-25

因此,我想禁用 Node.JS 应用程序 (Express) 的某些环境的日志记录;以下是在 Node.JS 应用程序中禁用日志记录的最佳方法吗?

if(process.env.NODE_ENV == "production")
{
    console.log = function(){}; 
}

在我的 app.js 中添加这段代码是否也会影响所有中间件和路由(我想禁用整个应用程序、路由、中间件等的日志记录)?

Thanks


您可能想搬离console.log并使用日志库,例如winston https://github.com/winstonjs/winston,但这取决于您的项目有多大以及您想要多大的灵活性。

顺便一提console.log = function() {};会起作用,这仅取决于您是否希望某些日志记录起作用(可能是这种情况,您可能希望看到错误)。

我通过创建以下设置来测试前一个:

文件1.js

console.log = function() {};
require('./2');

文件2.js

// you will not see anything
console.log(2);

如果您决定使用它,您将能够设置日志记录级别 https://github.com/winstonjs/winston#logging-levels,这将帮助您不在生产环境中显示详细日志。

例如:

var winston = require('winston');
winston.level = process.env.NODE_ENV == 'production' ? 'error' : 'debug';

// will show 'ERROR' in production logs
winston.error('ERROR') 

// will show 'called test function' in an environment
// different from production
winston.debug('called test function') 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用 Node.JS 中的日志记录 的相关文章

  • 向 JS 计算器添加键盘支持时出现的问题

    我想为我的计算器添加键盘支持 当我用键盘按下操作 即 或 时 js将其视为数字 而不是操作 例如 当我通过点击计算 10 11 时 我将得到 21 作为结果 当我通过键盘输入时 我会得到 10 为什么会发生这种情况 是否可以改变它 div
  • Visual Studio IDE 中功能后的空间

    如何设置 Visual Studio 中的设计以在我的 javascript 函数后面放置一个空格 目前 当我按下返回键时 我得到了这个 var myfunc function 当我想要这个的时候 var myfunc function 知
  • Twitter Bootstrap 轮播在加载时自动播放

    使用twitter bootstrap框架 如何调用轮播来 自动滑动 这意味着当页面加载时 轮播会自动滚动 我尝试过 javascript onLoad click 函数 a 下一个链接的 但这不起作用 你应该这样做Twitter Boot
  • Disqus 评论数始终为 0 条评论

    我想我已经按照通用代码的说明设置了 Disqus 问题是它总是说某个帖子有 0 条评论 拿这个帖子来说 http tx0rx0 com retropie and the raspberry pi http tx0rx0 com retrop
  • RequireJS 文本插件和变量连接字符串

    我正在使用 RequireJS 文本插件来加载一些 html 模板 当我将字符串文字传递给 require 函数时 它工作正常 var templateHTML require text templates template name ht
  • 变量前面加双下划线

    我的节点代码中有以下代码片段 var fs require fs fs readdir dirname function err files console log files 为什么变量 dirname 有双下划线 我知道一个下划线是私有
  • IE8 和 9 上的 socket.io 问题

    Socket io 在除 IE8 和 9 之外的所有平台上都能完美运行 这是客户端要求 你们能帮忙解决这个问题吗 我一直在阅读所有类似的问题 但到目前为止我发现的大多数解决方案都无法解决 IE8 上的这个问题 这是结构 服务器端 var i
  • 数据表“footerCallback”函数未在页脚中显示结果

    我尝试获取每列的总和并将结果显示在页脚中 我在用着 页脚回调 https datatables net reference option footerCallbackDatatables提供的功能 但是它在页脚中没有显示任何内容 数据表解释
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • jspm / jQuery / TypeScript - 模块“jquery”没有默认导出

    我正在尝试使用 TypeScript 和 jspm system js 来引导 Web 应用程序进行模块加载 我还没有走多远 安装 jspm 后 并使用它来安装 jQuery jspm install jquery 以及基础知识 main
  • 错误:找不到模块“jasmine-core”

    我安装了以下内容进行测试 devDependencies jasmine core 2 4 1 karma 0 13 22 karma jasmine 0 3 7 karma phantomjs launcher 1 0 0 运行后karm
  • NodeJS CPU 一次飙升至 100%

    我有一个用 NodeJS 编写的 SOCKS5 代理服务器 我正在使用原生net and dgram打开 TCP 和 UDP 套接字的库 它可以正常工作大约 2 天 所有 CPU 的最大利用率约为 30 两天没有重新启动后 一个 CPU 峰
  • 使用 javascript 调整图像大小以在画布 createPattern 中使用

    我见过一些关于如何调整图像大小的技巧 在 IMG 标签内使用 但我想在里面有一个图像变量 一个 Javascript 调整它的大小 然后使用 a 中的图像 context createPattern 图像 重复 我还没有找到任何提示 关于如
  • Promise 构造函数回调的主体何时执行?

    假设我有以下代码构造一个Promise function doSomethingAsynchronous return new Promise resolve gt const result doSomeWork setTimeout gt
  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 当选项卡重新加载(chrome 扩展)时,如何运行此脚本?

    所以我想在指定 URL 中重新加载选项卡时运行脚本 它几乎可以工作 但实际上 id 不能 这是我的清单文件 manifest version 2 name Sample Extension description Sample Chrome
  • 角度 ng-repeat 根据条件添加样式

    我在 div 列表上使用 ng repeat 并且在渲染此 div 的 json 中手动添加项目 我需要定位我在 json 中添加的最后一个 div 它会自动在屏幕上渲染 即 couse 光标所在的位置 其余部分保持在相同位置 但没有给出渲
  • Node.js - 生成的进程正在生成错误“execvp():没有这样的文件或目录”

    我有以下代码 旨在生成并分离子进程 它只是同一目录中的另一个 node js 脚本 这是我正在运行的确切代码 var fs require fs var child require child process var out fs open
  • 如何制作过期/签名视频嵌入网址

    我是新来的 正在学习网络开发等等 我只知道如何将我的视频嵌入网站中 任何菜鸟都可以轻松获得源代码 他们也可以嵌入它 但在许多网站中 视频 src 均使用重定向器链接进行编码 例如 它会在一段时间后过期 在本例中是一天 我了解到这是一个签名网
  • 将 Angular Web 组件 EventEmitter 监听到 javascript

    我在以下工具的帮助下创建了一个小型网络组件本文 https medium com IMM9O web components with angular d0205c9db08f使用角度元素 其中包括 Input and Output 我能够将

随机推荐

  • git 命令不尊重 io 重定向

    例如 一些 git 命令需要注意 io 重定向git bundle 我怀疑这与使用的底层 管道 命令有关 有一个很好的教程IO重定向 http tldp org LDP abs html io redirection html 以及与以下相
  • 如何禁用 LaTeX 列表项的缩进? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 默认情况下 枚举 环境相对于当前环境缩进 如何禁用此缩进 以便三个项目的枚举环境产生与以下代码段相同的输出 documentclass article
  • 使用 Composer 的自动加载

    我一直在网上浏览 在这个问题上没有运气 我正在使用作曲家的自动加载功能 并在我的composer json autoload psr 0 AppName src 但我需要在比供应商文件夹更高的级别自动加载 做这样的事情是行不通的 autol
  • NoReverseMatch:反转“已删除”,没有找到任何参数。 - 姜戈

    我是 Django 的新面孔 所以如果我的问题是愚蠢的 请考虑一下 所以我一直在练习 Django 目前正在制作 CRUD 但是我遇到了 NoReverseMatch 的问题 我在 stackoverflow 中查看了答案 但仍然找不到出错
  • 为什么Python在某些情况下需要手动设置LC_CTYPE

    我正在尝试使用 Django 的管理文档 我跟着this https docs djangoproject com en dev ref contrib admin admindocs 教程并安装docutils 安装后我通过以下方式运行
  • 通过 Android Intent 发送链接到 Whatsapp

    我正在尝试从我的 Android 应用程序向 Whatsapp 或短信等聊天应用程序发送带有链接的短信 这些应用程序不接受 text html 类型作为 Intent 类型 当我使用 text plain 类型时 我的消息仅包含主题而没有消
  • Express.js 和 connect-mongo 会话持续时间

    我使用express session和connect mongo来存储用户会话 我将 cookie maxAge 设置为从现在起的 2 周 但我想要的是 如果用户在这 2 周内处于活动状态 则会话会延长到另外 2 周 这样当他不活动 2 周
  • 如何反序列化 JSON,其中值的类型在另一个字段中指定?

    我不确定应该如何尝试反序列化一些如下所示的 JSON columns name stringColumn type string name DateColumn type date name NumberColumn type number
  • 什么时候在 Ruby 中使用 Singleton 类是明智的? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 滥用模式匹配

    我来自 C 发现自己爱上了 F 模式匹配语法 因为它比 C 更简单switch并且更有用 我喜欢尽可能多地使用它 以像本例这样的奇怪方式使用它是否会带来性能或任何其他缺点 match 0 with when a b a gt b 在这个特定
  • git-am 未正确读取配置

    看起来git am continue没有正确读取我的配置 git am continue Applying fatal empty ident name for lt gt notallowed 我尝试遵循中的建议git post rece
  • 查找总和等于 2020 的 n 个值

    我有一个向量Vec具有这些值 1721 979 366 299 675 1456 我正在努力寻找一种方法来获得以下组合n 我最初想做的是n 2 值的总和等于 2020 年 在示例中 很容易将其视为 1721 和 299 2020 年之和 但
  • SQLITE - 设置新数据库的版本

    我已经使用此示例创建了一个数据库 我在全新安装时复制该数据库 http www reigndesign com blog using your own sqlite database in android applications http
  • Python 3 和 PyQt 4 建议

    的组合是Python 3 http docs python org 3 1 and PyQt 4 http www riverbankcomputing co uk software pyqt intro受到推崇的 还有其他选择吗 我不明白
  • php中根据文件夹状态进行文件夹监控并触发事件

    当事件发生时 有一个文件夹 其中 xml 文件在任何特定时间都被复制 我想要一种 php 方式来检查文件夹的状态 当 xml 文件到达时 将触发一个事件 例如调用 xml 解析器 那么 在 php 中 监视文件夹并根据其状态触发事件的最佳方
  • 使用 spring-security: WebSecurityConfigurerAdapter: auth.jdbcAuthentication().usersByUsernameQuery:查询字符串应该是什么样子?

    使用带有两个表的 postgresql db 来验证登录 用户和权限 CREATE TABLE users username character 50 NOT NULL password character 50 NOT NULL enab
  • 如何以编程方式限制对 Web 服务的访问?

    我正在使用 C 和 Net 2 0 编写传统的 ASMX Web 服务 以便在 IIS 上部署 Web 服务将部署在共享托管环境中 其中每个客户端都有自己的应用程序副本 位于单独的虚拟目录中 我知道 我知道 这是一个遗留应用程序 每个虚拟目
  • CakePHP 保存 HABTM 数据

    我有2个模型 Client and Security 它们与 HATBTM 关系相关联 我制作了一个名为的连接表clients securities So a Client可以拥有许多证券和Security可以属于很多Clients 这是我
  • Javascript Safari:带有字符串的 new Date() 在键入时返回无效日期

    我在 Safari 和 Firefox 中的 javascript new Date 方法中遇到了一个奇怪的问题 但在 chrome 中却没有 我的用户界面上有一个用于输入日期和日历下拉列表的表单 如果我从日历下拉列表中选择一个日期并点击保
  • 禁用 Node.JS 中的日志记录

    因此 我想禁用 Node JS 应用程序 Express 的某些环境的日志记录 以下是在 Node JS 应用程序中禁用日志记录的最佳方法吗 if process env NODE ENV production console log fu