4

log4javascriptバージョン1.4.3を使用しています。私のアプリでは、トレースを除く
すべてのログレベルで正常に動作します。物事を単純化し、問題が私のアプリ内にないことを確認するために、作成者のサンプルコードを例として使用して例を作成し、setThreshold(log4javascript.TRACE)を追加してから、トレースエントリを生成する行を追加しました(彼の例から、popUpAppenderだけを残してajaxAppenderにのみ関連する行。

コードを実行すると、エラーメッセージとデバッグメッセージがlog4javascriptポップアップウィンドウに表示されますが、トレースメッセージは表示されません。

明らかに、トレースレベルの使用またはトレースメッセージの構成を正しく理解していません。誰かが私のやり方の誤りを指摘することができれば、私は私のアプリのログを修正することができます。

以下で失敗するサンプルコード。

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>log4javascript example from  manual</title>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <meta name="author" content="Tim Down - tim@log4javascript.org" />
        <meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
        <meta name="robots" content="all" />
        <script type="text/javascript" src="/tracker/libraries/log4javascript.js"></script>
        <script type="text/javascript">
            //<![CDATA[
            var log = log4javascript.getLogger();
            var popUpAppender = new log4javascript.PopUpAppender();
            var popUpLayout = new log4javascript.PatternLayout("%d{HH:mm:ss} %-5p - %m%n");
            popUpAppender.setLayout(popUpLayout);

            // new line below
            popUpAppender.setThreshold(log4javascript.Level.TRACE);

            log.addAppender(popUpAppender);

            log.debug("Debugging message (appears in pop-up)");
            log.error("Error message (appears in pop-up and in server log)");

            // new line below
            log.trace("Trace message");

            //]]>
        </script>
    </head>
    <body>
        <h1>log4javascript example from  manual</h1>

        <script type="text/javascript">
            var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
            document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
        </script>
        <script type="text/javascript">
            var pageTracker = _gat._getTracker("UA-448786-3");
            pageTracker._initData();
            pageTracker._trackPageview();
        </script>

    </body>
</html>
4

1 に答える 1

7

問題は、ロガーにもしきい値レベルがあり、DEBUGデフォルトで設定されていることです。を呼び出す前に、次の行を追加しますlog.trace()

log.setLevel(log4javascript.Level.TRACE);
于 2012-10-02T14:36:06.357 に答える