问题标签 [verbosity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - 控制 make 命令的输出不那么冗长,不要回显每个命令
目前,我正在使用 Makefile 来跟踪我的项目的所有依赖项和编译。问题是make只是简单地输出它正在做的所有事情,这使得很难发现(甚至读取)更重要的信息(例如编译器警告)。
有没有办法控制终端上显示哪些信息?我知道有一个-s
选项可以沉默,但这不是我想要的。我需要一些更精致的东西,也许显示编译目标而不显示整个编译命令。
有什么办法可以控制吗?
注意:关于 automake 和 autoconf 命令有一个类似的问题。但我不使用这些,而且我正在专门寻找制作中的东西。
bash - 脚本中详细模式的优雅方式?
当我编写 bash 脚本时,我通常以这种方式获得详细模式(简化):
然后每次我想要“详细输出”时,我都会输入:
或者例如这个:
有没有办法让它更优雅?我正在考虑定义一个名为“verbose”的函数并键入它而不是[ $_V -eq 1 ]
,但这只是一个很小的改进。
我敢肯定,还有更常见的方法来做到这一点……</p>
c++ - 简单 Logger 实现 C++ 中的详细级别
由于我学习 C++,我目前正在为一个项目实现一个简单的 Logger。
我已经有了一个 Logger 基类,作为一些不同的附加程序,下一步是实现详细级别。问题是我不确定我是否正确理解了详细程度的概念,所以我想在开始实施它们之前得到一些反馈。因此,据我了解,一般工作的详细程度如下:
用户首先创建两个 Logger:fe:
之后,他可以设置详细程度,例如:
之后他可以随心所欲地记录,例如:
而断言写入具有致命错误级别的 VSLogger
在输出文件中,它可能看起来像这样:
在 Visual Studio 中,它可能看起来像这样:
这是详细程度的感觉还是我误解了详细程度的概念?
r - 加载包时禁用消息
我在 R (ROCR) 中有一个包,需要在我的 R 环境中加载。加载包后,会打印一组消息。这通常很好,但由于我的 R 脚本的输出被用于进一步分析,我想完全禁用所有这些输出。我怎么做?此外,我更愿意在完全不必修改 ROCR 的情况下执行此操作,以便该脚本的未来用户也不必这样做。
至今:
sink()
在这里不起作用 - 将 stdout 和 std err 都重定向到/dev/null
对我没有任何作用。- 不出所料,
options(warnings=-1)
它也不做任何事情,因为这些本身并不是正在打印的警告。
有什么想法吗?
makefile - 控制 make 的详细程度
我正在使用makefile来编译由许多.c
文件组成的程序,并且任何时候make
调用它都只会编译上次运行后修改的那些文件(直到这里没有什么特别的)。
为了避免弄乱我的屏幕,我@
在每次$(CC)
通话开始时预先准备好,并在它之前打印一条自定义echo
消息。例如:
我的问题是:我怎样才能make
以更“动态的方式”控制冗长,以便能够:
- 正常行为:只为每个执行的 makefile 规则打印一条自定义消息。
- 详细行为:打印每个 makefile 规则实际执行的命令(好像
@
根本没有使用)。
c - 良好的详细度宏 (C99)
我正在寻找写我认为是一个相当常见的宏。我想通过定义以下形式的一堆宏来模拟许多 POSIX 程序上重复的“-v”选项:
其中optv
计算在命令行中找到的“-v”选项的数量并prog
包含程序名称(均未显示)。这很好用,但问题是我必须使用一个变量。V1("Output")
会产生编译错误。我总是可以使用V1("Output%s","")
,但应该有一个更清洁的解决方案。
c++ - Adding Verbosity to a Program
This is a very n00b question but I'm writing a nix based tool and would like to have verbosity flags, based on the number of vvv's passed in I would go about printing debug/information statements in my program.
My question is how would I go about using opargs for this, since optargs can only parse one character at a time.
Also suppose I know I'm at verbosity level 3, do all my print statements have to be in an if condition? Or there a clever way of going about it using the pre-processor?
Also if someone could point me to some code online which does this, that would be awesome.
Thanks
I figure it out, thought I'd post here if someone else comes across this in the future:
Basically for all my different verbosity statements I defined a special print using the preprocessor like:
I then put in the statements as needed in the code e.g.
My opt atgs looks something like this
c - 如何确定确切原因,为什么 berkeley db 在 db->open 上返回 EINVAL?
在 berkeley db 文档中,说明原因可能有以下几种:
指定了无效的标志值或参数(例如,未知的数据库类型、页面大小、散列函数、填充字节、字节顺序)或与指定数据库不兼容的标志值或参数。指定了 DB_THREAD 标志,并且快速互斥体不适用于此体系结构。
DB_THREAD 标志被指定给 DB->open,但没有被指定给 DB_ENV->open 调用,用于创建 DB 句柄的环境。
使用 DB_THREAD 标志或提供的数据库环境支持事务处理指定了支持平面文本文件。
我使用的唯一标志是 DB_CREATE,数据库类型是 DB_BTREE。
我想知道导致 EINVAL 的确切原因,但我没有找到任何可以在“DB”结构中帮助我的详细配置(在 DB_ENV 中,他们有 set_verbose 方法,但我不使用 DB_ENV)。
python - 如何禁用 Requests 库中的日志消息?
默认情况下,请求python 库将日志消息写入控制台,如下所示:
我通常对这些消息不感兴趣,并想禁用它们。使这些消息静音或减少 Requests 冗长的最佳方法是什么?
java - Tomcat:按记录器名称过滤 log4j
我正在使用一个非常详细地使用 log4j 的外部包。我查看了代码并找到了预期的log4j
行:
由于我无法更改代码,因此我尝试更改log4j.xml
:
我猜想该category name
属性等同于记录器名称。这是真的吗?如果没有,如何按记录器名称过滤?