Poco C+::Loggerログ出力情報ファイルと行番号

1030 ワード

@题外话,欢迎加入qq群:3419747971一绪にPoco C++の検讨を行いましょう;
1 PatternFormatterクラスの内部には%uと%Uがあり、それぞれ行番号とFile名を表し、パラメータがない場合はデフォルトは0とnullです.
2コーディネートが必要です_FILE__ および_LINE__ マクロ#マクロ#
3使用方法:Informationレベルを例に
eg:          
            PatternFormatter* pForm=new PatternFormatter("[%Y-%m-%d] %H:%M:%S [%U(%u)] ");

            pForm->setProperty("times","local");



            FileChannel* pChannel=new FileChannel();

            pChannel->setProperty("path",config().getString("App.log_file")+"Log_first.log");



            FormattingChannel* pFC1=new FormattingChannel(pForm,pChannel);



            Logger::root().setChannel(pFC1);

            Logger::root().information("helloworld666",__FILE__,__LINE__);
            Logger::root().information("helloworld123");

4結論:
            __FILE__ これは%Uに対応し、パス付きファイル名を出力します.
            __LINE__これは%uに対応し、ログの行番号を出力します.
この2つのマクロがない場合、または%Uと%uがない場合、ログ出力にはファイル名と行番号は付きません.