默认情况下,Requests python库将日志消息写入控制台,其行如下:
Starting new HTTP connection (1): example.com
http://example.com:80 "GET / HTTP/1.1" 200 606
Run Code Online (Sandbox Code Playgroud)
我通常对这些消息不感兴趣,并希望禁用它们.什么是沉默这些消息或减少请求的冗长的最佳方法?
我正在尝试调试编译问题,但我似乎无法获得GCC(或者可能是make ??)来向我展示它正在执行的实际编译器和链接器命令.这是我看到的输出:
CCLD libvirt_parthelper
libvirt_parthelper-parthelper.o: In function `main':
/root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:102: undefined reference to `ped_device_get'
/root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:116: undefined reference to `ped_disk_new'
/root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:122: undefined reference to `ped_disk_next_partition'
/root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:172: undefined reference to `ped_disk_next_partition'
/root/qemu-build/libvirt-0.9.0/src/storage/parthelper.c:172: undefined reference to `ped_disk_next_partition'
collect2: ld returned 1 exit status
make[3]: *** [libvirt_parthelper] Error 1
Run Code Online (Sandbox Code Playgroud)
我想看到的应该与此类似:
$ make
gcc -Wall -c -o main.o main.c
gcc -Wall -c -o hello_fn.o hello_fn.c
gcc main.o hello_fn.o -o main
Run Code Online (Sandbox Code Playgroud)
请注意此示例如何显示完整的gcc命令.以上示例仅显示"CCLD libvirt_parthelper"之类的内容.我不确定如何控制这种行为.
Maven根据我的口味喷出了太多的输出线(我喜欢Unix的方式:没有消息是好消息).
我想摆脱所有[INFO]行,但我找不到任何控制Maven详细程度的参数或配置设置.
是否没有类似LOG4J的方式来设置日志级别?
日志级别WARN,ERROR和FATAL非常清楚.但什么时候是DEBUG,什么时候是INFO?
我已经看到一些在INFO级别上令人烦恼的项目,但我也看到了过多地支持DEBUG级别的代码.在这两种情况下,有用的信息都隐藏在噪音中.
确定日志级别的标准是什么?
如何阻止psql(PostgreSQL客户端)输出通知?例如
psql:schema/auth.sql:20:注意:CREATE TABLE/PRIMARY KEY将为表"users"创建隐式索引"users_pkey"
在我看来,程序应该保持沉默,除非它有错误,或输出东西的其他原因.
Python unittest框架有一个详细的概念,我似乎无法在任何地方找到它.例如,我正在运行这样的测试用例(如文档中所示):
suite = unittest.TestLoader().loadTestsFromTestCase(MyAwesomeTest)
unittest.TextTestRunner(verbosity=2).run(suite)
Run Code Online (Sandbox Code Playgroud)
我见过的唯一的数字是冗长的2.这个神奇的数字是什么,它意味着什么,我能通过什么呢?
我在PowerShell脚本中以下列方式调用GPG:
$key = & 'gpg' --decrypt "secret.gpg" --quiet --no-verbose > $null
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,我不希望在主控制台上看到GPG的任何输出.
由于我在PowerShell中的高通,我不知道该怎么做.我搜索了Stack Overflow并用谷歌搜索了一种方法来做到这一点,找到了很多方法来做到这一点,但是没有它起作用.
例如,"> $ null"无效.我发现--quiet --no-verboseGPG 的选项可以在控制台中输出更少的输出,但它并不完全安静,我相信PowerShell也有一种方法.
我最近开始使用Haskell学习函数式编程,并在官方的Haskell wiki上发表了这篇文章:如何阅读Haskell.
文章声称,短变量名如x,xs,和f被嵌合因为简洁和抽象为Haskell代码.从本质上讲,它声称函数式编程是一种独特的范式,其他范式的命名约定不适用.
你对此有何看法?
haskell functional-programming coding-style naming-conventions verbosity
当我编写bash脚本时,我通常会以这种方式获得详细模式(简化):
_V=0
while getopts "v" OPTION
do
case $OPTION in
v) _V=1
;;
esac
done
Run Code Online (Sandbox Code Playgroud)
然后每次我想要一个"详细输出"我输入:
[ $_V -eq 1 ] && echo "verbose mode on" || echo "verbose mode off"
Run Code Online (Sandbox Code Playgroud)
或者例如:
[ $_V -eq 1 ] && command -v || command
Run Code Online (Sandbox Code Playgroud)
有没有办法让它更优雅?我正在考虑定义一个名为"verbose"的函数并将其键入而不是[ $_V -eq 1 ],但这只是一个微小的改进.
我敢肯定,有更常见的方式来做到这一点......
在我的Elixir/Phoenix应用程序中,当我跑步时
mix test
Run Code Online (Sandbox Code Playgroud)
我输出如下:
$ mix test
....
Finished in 0.09 seconds
4 tests, 0 failures
Run Code Online (Sandbox Code Playgroud)
每个测试成功的点数.
如何输出成功的测试名称?
在使用rspec的Rails中,我曾经在目录中使用.rspec文件执行此操作,该文件看起来像:
$ cat .rspec
--color
-fd
--tty
Run Code Online (Sandbox Code Playgroud)
Elixir中是否有相同的名称?
verbosity ×10
logging ×3
output ×2
python ×2
bash ×1
coding-style ×1
database ×1
elixir ×1
elixir-mix ×1
gcc ×1
haskell ×1
makefile ×1
maven ×1
postgresql ×1
powershell ×1
testing ×1
unit-testing ×1