【问题标题】:How should a Dist::Zilla plugin give feedback to the user?Dist::Zilla 插件应该如何给用户反馈?
【发布时间】:2014-01-12 03:47:26
【问题描述】:

我有几个 Dist::Zilla 插件,当我对 Moose 和 Dist::Zilla 都非常陌生时,我编写了这些插件,我目前正在尝试更新它们以使它们更健壮,并且更少容易出错。

我想做的一件事是,如果我发现用户给了我相互矛盾或不可能的指令,我会向他们提供反馈。比如:

[ MyPlugin ]
include = all
exclude = all

Dist::Zilla 似乎有一个(未记录的)内部日志系统,我最初在编写插件时使用了该系统,但它似乎不再工作(可能是由于内部更改)。那么,这些天我应该如何给用户反馈呢?

【问题讨论】:

    标签: perl logging user-feedback dist-zilla


    【解决方案1】:

    (本意是放在评论中,但达到长度限制)。

    警告:我自己只写了几个小的 dzil 插件,对它的内部不是很熟悉。

    dzil 使用 Log::Dispatchouli,也是 rjbs 写的。 Log::Dispatchouli 被其他几个项目(包括由 rjbs 以外的人启动的项目)使用,因此它不完全是一个内部 dzil 日志记录系统。

    据我了解,Log::Dispatchouli 只有两个日志级别,正常和调试。调试日志通常不会在输出中看到;您必须先启用调试。如果您启用静音,则可以将正常(和调试)日志静音。

    要在 dzil 中启用调试,请添加 -v 命令行开关。这似乎没有记录在“dzil help”和“dzil help COMMAND”中。但是 rjbsblogged about it.

    现在要在 dzil 插件中生成日志,您只需调用 $self->log(...) 或 $self->log_debug(...)。只有当用户通过 -v 选项时才会看到第二个。

    【讨论】:

    • 另外坦白:对于我写的一些插件,我也混入了Log::Any,用它来记录日志,而不是Log::Dispatchouli。我喜欢额外的级别,例如“trace”、“debug”、“info”以及 Log::Any 的类似 sprintf 的功能。
    • 我注意到 Log::Dispatchouli 有 8 级左右的日志输出,但大多数似乎在 dzil 中被禁用。
    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 2018-10-31
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2013-05-03
    • 1970-01-01
    相关资源
    最近更新 更多