0

ロギングに Log4Perl モジュールを使用しています。アプリケーションを実行すると、コンソールにいくつかの Log4Perl モジュール ログが表示されます。

Subroutine import redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 76.
Subroutine initialized redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 214.
Subroutine new redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 220.
Subroutine reset redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 227.
Subroutine init_once redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 234.
Subroutine init redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 241.
Subroutine init_and_watch redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 255.
Subroutine easy_init redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 270.
Subroutine wrapper_register redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 348.
Subroutine get_logger redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 356.
Subroutine caller_depth_offset redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 398.
Subroutine appenders redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 418.
Subroutine add_appender redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 424.
Subroutine appender_thresholds_adjust redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 439.
Subroutine appender_by_name redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 484.
Subroutine eradicate_appender redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 502.
Subroutine infiltrate_lwp redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 510.
Subroutine easy_closure_create redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 531.
Subroutine easy_closure_cleanup redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 545.
Subroutine easy_closure_category_cleanup redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 562.
Subroutine easy_closure_global_cleanup redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 578.
Subroutine easy_closure_logger_remove redefined at C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 587.
Subroutine remove_logger redefined at      C:/Strawberry/perl/site/lib/LOG/Log4perl.pm line 602.

なぜ彼らが来るのかわからない。さまざまなログ レベルも試してみましたが、それでも取得できます。

4

1 に答える 1

3

そうでLog::Log4perlはありませんLog::Log4Perl

Log4perl FAQ から

Windows を使用していて、次のような警告メッセージが表示される場合

定数サブルーチン Log::Log4perl::_INTERNAL_DEBUG が C:/Programme/Perl/lib/constant.pm 行 103 で再定義されました。サブルーチン インポートが C:/Programme/Perl/site/lib/Log/Log4Perl.pm 行 69 で再定義されました。 C:/Programme/Perl/site/lib/Log/Log4Perl.pm 行 207 で再定義された初期化。

その場合、正しい 'Log::Log4perl' の代わりに 'Log::Log4Perl' (間違った大文字の P) を使用している可能性があります。Windows 上の Perl は、このエラーを適切に処理せず、多くの紛らわしい警告メッセージを吐き出します。しかし、正しいモジュール名を使用するだけで問題ありません。

この rt もチェックしてください: https://rt.cpan.org/Public/Bug/Display.html?id=23890

于 2015-08-07T10:37:01.300 に答える