Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Dist::Zilla插件应该如何向用户提供反馈?_Perl_Logging_User Feedback_Dist Zilla - Fatal编程技术网

Perl Dist::Zilla插件应该如何向用户提供反馈?

Perl Dist::Zilla插件应该如何向用户提供反馈?,perl,logging,user-feedback,dist-zilla,Perl,Logging,User Feedback,Dist Zilla,我有几个Dist::Zilla插件,是我刚接触Moose和Dist::Zilla时编写的,我目前正在尝试更新它们,使它们更健壮,更不容易出错 我想做的一件事是,如果我发现用户给我的指令相互矛盾或不可能,就给他们反馈。例如: [ MyPlugin ] include = all exclude = all Zilla似乎有一个(未记录的)内部日志系统,我最初在编写插件时连接到该系统,但它似乎不再工作(可能是由于内部更改)。那么,这些天我应该如何给用户反馈呢?(我的意思是将其放在评论中,但达到了长

我有几个Dist::Zilla插件,是我刚接触Moose和Dist::Zilla时编写的,我目前正在尝试更新它们,使它们更健壮,更不容易出错

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

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

(我的意思是将其放在评论中,但达到了长度限制)

警告:我自己只写过几个小的dzil插件,对它的内部结构不太熟悉

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

据我所知,Log::Dispatchouli只有两个日志记录级别:normal和debug。调试日志通常不会出现在输出中;您必须首先启用调试。如果启用静音,则可以静音正常(和调试)日志

要在dzil中启用调试,请添加-v命令行开关。“dzil帮助”或“dzil帮助命令”中似乎没有记录这一点。但是RJB


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

还有一个坦白:对于我编写的一些插件,我还混合了Log::Any,并使用它来记录日志,而不是Log::Dispatchouli。我喜欢有额外的级别,如“跟踪”、“调试”、“信息”以及类似sprintf的Log::Any功能。我注意到Log::Dispatchouli有8级左右的日志输出,但大多数似乎在dzil中被禁用。