問題タブ [boost-log]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3075 参照

c++ - Boost ログのタイムスタンプ形式が正しくない

Boost 1.54 Log を使用しており、次の方法でログを初期化しています。

これは、生成された出力のサンプルです。

タイムスタンプの出力秒は完全に正しくありませんが、Boost Log のドキュメントによると%S、秒の正しいフォーマット設定です。これはバグでしょうか?

0 投票する
1 に答える
1062 参照

c++ - ブーストログマクロの説明

ここのブーストログチュートリアルに従いました http://boost-log.sourceforge.net/libs/log/doc/html/index.html

このサンプルをコンパイルして実行しようとしています

コンパイルできません。エラーはhttp://pastebin.com/DcLdWGkeとして返されます

次に、コードを次のように編集します。

今では準拠し、うまく機能しました。ブーストサイトでこのマクロについて読みました:

ユーザー コードで定義されている場合、ライブラリはバイナリが動的に読み込まれるライブラリ ("dll" または "so") としてビルドされていると想定します。それ以外の場合、ライブラリは静的モードで構築されていると見なされます。このマクロは、ログを使用するユーザー アプリケーションのすべての翻訳単位に対して、定義されているか定義されていない必要があります。このマクロは、それをサポートするプラットフォームでの自動リンクに役立ちます。

だから私の質問は: なぜ私は #define BOOST_LOG_DYN_LINK をコンパイルする必要があるのですか?

0 投票する
1 に答える
499 参照

c++ - boost::log チュートリアルのコードはどのように機能しますか?

しばらく C++ を使っていなかったので、構文に少し戸惑いました。boost::logライブラリのチュートリアルから次の行を説明してもらえますか?

私が見る限り、それは関数set_filter()呼び出しですが、filterオブジェクトを取ります:

そして式:

ブール値を返しますか? ここはoperator >=過負荷ですか?定義とマクロを探して理解しようとしましたが、演算子のオーバーロードが見当たりません。私には非論理的に見えます。それは何をするためのものか?それはどのように機能しますか?

0 投票する
1 に答える
687 参照

c++ - Boost.Log (または Boost.Thread) を使用すると、dllinit.cpp 行 703 で MFC ASSERT が発生する

DLL の 1 つで Boost.Log を使用しようとすると、dllinit.cpp でアサーションを受け取ります。

ログ機能を含む tools.dll があり、Boost.Log を使用してログを記録するように実装しようとしました。この tools.dll は別の helper.dll によって参照されており、両方の DLL がアプリケーションで使用されています。

ただし、アプリケーションを起動すると、ASSERT が発生します。

これは、Boost 1.54 と (付属の) Boost.Log、Boost 1.48 と Boost.Log 1.1 で発生します。

たくさんのメーリング リストや古い投稿を掘り下げました。私がこれまでに理解したことは、Boost.Thread の _pRawDllMain ポインターに問題があり、コメントアウトすることを提案した人もいます

しかし、これはメモリリークにつながりますか?このスレッドは、1.40 以降に修正されると述べていましたが、これが行われたかどうかはわかりません。ここで提案されている Boost への動的リンクは役に立ちませんでした。

ブーストユーザーに尋ねることは、これまでのところ役に立ちませんでした.

ヒント、何を確認すればよいですか?

編集: 標準の DLL として構成されていますが、afxwin.h から API を使用してアプリケーションのバージョン情報を取得するため、MFC100.dll に依存しています。

0 投票する
1 に答える
842 参照

c++ - 名前空間での Boost.Log エラー

名前空間の下にあるオペランドで operator<< オーバーライドを使用すると、エラーが発生しました。何がこの問題を引き起こしているのかよくわかりません。ソース コードを見てください。

MSVC2013 でコンパイルした場合の完全なコンパイル ログ (要求に応じて):

Boost.Log にバグがありますか、それとも何か間違っていますか?

ブーストバージョンは 1.55 です。

0 投票する
1 に答える
100 参照

c++ - Boost.Log を使用してログ メッセージが生成されるかどうかをテストする

現在、ソフトウェア プロジェクトの 1 つで Boost.Log を使用しています。ログ メッセージを使用してエラー状態を報告するケースが 1 つあります。Google テスト フレームワークを使用して、この状態が正しく検出されるかどうかをテストしたいと思います。明確にするために、メッセージが生成されるかどうかをテストしたいと思います。フィルターによって削除される場合がありますが、これによりテストが失敗することはありません。これはまったく可能ですか?ヒントはありますか?ありがとう!

0 投票する
1 に答える
465 参照

c++ - Boost Logロガー操作がconstでないのはなぜですか?

重大度チャネル ロガーを使用しようとしていますBOOST_LOG_SEVが、const メソッドではないという問題に遭遇しました。open_record() と push_record() の両方が原因であると考えています。

これにより、基本的に、クラス内のすべてのメソッドを const にしないように強制されます。これは、ロガーに書き出す必要があるためです。私はそれを行う余裕がありません-そのため、現時点ではグローバルロガーに制限されています.

私の現在の実装では、各クラスにはチャネルとしてクラス名を持つロガーがあり (コンストラクターで初期化されます)、任意の時点でログ メッセージを発行します。BOOST_LOG_SEV(this->logger, level)

非定数の背後にある理由と、私の設計が Boost::Log を意図していないかどうかを知りたいです。