2017-11-13 10 views
0

プロジェクトで初めてalogというライブラリを使用しています。すべての後続のログコマンドのログレベルを設定する方法に問題があります。私は、すべての5件のメッセージが最初に表示され、エラーメッセージのみが二度目に表示されていることを期待LogLevelをAdaライブラリalogに設定する方法

with Alog;       use Alog; 
with Alog.Logger; 
with Alog.Policy_DB;    use Alog.Policy_DB; 

procedure Test_Loglevel 
is 
    L : Logger.Instance (Init => True); 

    procedure Act_And_Log 
    is begin 
     null; 
     L.Log_Message (Alog.Debug, "very detailed, only for debugging"); 
     null; 
     L.Log_Message (Alog.Info, "some more detailed infos"); 
     null; 
     L.Log_Message (Alog.Notice, "general messages for interactive use"); 
     null; 
     L.Log_Message (Alog.Warning, "something serious happened"); 
     null; 
     L.Log_Message (Alog.Error, "error messages should always be displayed"); 
    end Act_And_Log; 

begin 
    -- 
    -- all logs should be displayed 
    -- 
    Set_Loglevel ("*", Debug); 
    Set_Default_Loglevel (Debug); 
    Act_And_Log; 
    -- 
    -- only error 
    -- 
    Set_Loglevel ("*", Error); 
    Set_Default_Loglevel (Error); 
    Act_And_Log; 

end Test_Loglevel; 

は私のテストプログラムを参照してください。しかし実際の出力では、5つのメッセージが2回表示されます。

重大度に基づいて出力をフィルタリングするにはどうすればよいですか?

答えて

0

私はアロッグの著者に直接尋ねました。彼らはpatchと答えました。私はまだdocが少し誤解を招くのを見つけます。

関連する問題