問題タブ [pantheios]
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.
c++ - dllからPantheiosロギングフレームワークを使用する
C++dll内からpantheiosロギングフレームワークを使用しようとしています。dllのビルドに成功し、テストアプリケーション(C ++ MFCアプリケーション)を介して実行されます。
私は次のインクルードで暗黙のリンクを使用しました:
私のDllMainは、次の呼び出しでpantheiosを初期化します。
次のコードを実行すると、
Microsoft C++ exception: stlsoft::winstl_project::windows_exception at memory location 0x0013da84
代わりに明示的なリンクを使用しようとしましたが、結果はありませんでした。
c++ - Pantheiosロギングを備えたカスタムフロントエンドとバックエンド
本当に明白な何かが欠けている場合はお詫びしますが、 Pantheiosを使用してカスタムのフロントエンドとバックエンドを作成する方法を理解しようとしています。(私はCではなくC ++から使用しています。)
初期化関数の目的に従うことはできますが(私は思います)、他の関数についてはよくわかりません:pantheios_be_logEntry
、、。pantheios_fe_getProcessIdentity
pantheios_fe_isSeverityLogged
特に、フロントエンドとバックエンドの関係については混乱しています。どうすればそれらを相互に通信させることができますか?
c++ - Pantheios ロガー用の固定バックエンド DLL を作成する方法
多数のプロジェクト (ほとんどが DLL、CppUnit プロジェクトである 1 つの EXE) を持つ VS 2005 ソリューションがあり、Pantheios ロガー用の固定バックエンド DLL を追加しようとしています。解決。以下の URL の指示に従います。
- dll から Pantheios ロギング フレームワークを使用する
- https://sourceforge.net/projects/pantheios/forums/forum/647484/topic/1639420/index/page/1
基本的な Pantheios ロギング ステートメントlog_DEBUG, log_ERROR
などをサポートする固定バックエンド DLL があるようです。PANTHEIOS_TRACE_NOTICE
しかし、Pantheios は "inserters" (基本型を文字列に変換する API) ( http://www.pantheios.org/doc/html/group__group____application__layer__interface____inserters.html ) を int、double、float などの処理に必要とするため、先に進めません。 、ポインタなど
私が作成した固定バックエンド DLL にこれらの「インサーター」を実装する方法がわかりません。単純に他の DLL から呼び出すと、次のようなエラーが発生します。
DLLApp.obj : error LNK2019: unresolved external symbol "public: __thiscall pantheios::integer::integer(int,int)" (??0integer@pantheios@@QAE@HH@Z) referenced in function "public: void __thiscall DLLApp::DLLAppSetup(void)" (?DLLAppSetup@DLLApp@@QAEXXZ)
sourceforge.netの記事に記載されているように、.DEFを使用して「整数」(およびその他の挿入子)クラスをエクスポートできるかどうか(およびエクスポートする必要があるかどうか)、または他に不足しているものがあるかどうかはわかりません。
どんな助けでも大歓迎です。前もって感謝します。
c++ - Pantheios を使用して、呼び出しクラスと回線番号をログに含める方法は?
Pantheiosを使い始めたばかりですが、ロギング用の優れたライブラリのように感じます! おそらく、C++ 向けの最高のものでさえあります! 作者おめでとうございます!
ただし、ドキュメントにもすべてのフォーラムの投稿にも、呼び出し元のクラスと行番号をログに含める方法については何も見つかりませんでした。
be.fileをバックエンドとして使用しており、 fe.simpleの例を見て、カスタム フロント エンドを定義しました。これは と関係がありますか、PANTHEIOS_EXTERN_C const char PANTHEIOS_FE_PROCESS_IDENTITY[]
それとも私は完全に間違った方向に進んでいますか?
c++ - pantheios ファイル ストック バックエンドの使用に関する問題
pantheios ファイル ストック バックエンドを使用して、C++ で dll からログを記録しようとしています。ファイルは作成されますが、ファイルには何も書き込まれません。
ここに私のコードのスニペットがあります
Init Passed メッセージ ボックスが表示されますが、ログ ステートメントがファイルにダンプされません。
c++ - pantheios でファイルにログを記録する方法は?
pantheios の例を使用してファイルにログを記録しようとしましたが、うまく動作しません。メッセージはコンソールに正しく表示されますが、ログ ファイルは作成されません。そのスレッドを見たので、重大度を変更しようとしましたが、誰も機能しません。
コードは次のとおりです。
暗黙的なリンク用に「include_pantheios.cpp」ファイルがあります。ここにあります :
誰かが私の問題がどこから来たのか見ていますか? 前もって感謝します、
ヴィンセント
c++ - 初心者: #ifdef DEBUG の代わりに Pantheios ロギング API ライブラリを使用する方法は? SEVLEVEL を定義するには?
動的検索アルゴリズムで多くのイベントをログに記録したい (例: グローバル最適への収束に関する情報)。このロギングには、オフ/オンを切り替えるスイッチが必要です。現在、それを達成するための多くの可能性があります:
- アルゴリズムのログ バージョンと非ログ バージョンを実装する -> 冗長性
- マクロを使用する -> 醜く、安全ではない
- C++ ロギング ライブラリを使用します (または、ロギング ライブラリの機能範囲の 1% を使用します)。
私はPantheiosを使用することに決めました。これは、特にパフォーマンスに関する主張があったためです (このロギングのためにパフォーマンスを大幅に低下させたくありません。これは開発でのみ必要です)。私はこのライブラリの機能の多くを必要としないことを認めなければなりませんが、私はそれを使用するためのはるかに優れた/安全な方法だと思いました. たぶん、私が知らないより適切な代替手段があるでしょう(ロギングのためだけにコンパイル時の決定が必要です->その目的のために設計されたロギングライブラリがあるかどうかわかりません)。
コンパイル、インストール、そして最終的にリンクした後 (手動リンクでは成功しませんが、scons構築ツールでは gcc -> 明示的リンクを使用)、ちょっとした例を試してみたかったのです。
それを次のようなものに減らしましょう。
リンクは次のファイルで行われます。
LIBS=['pantheios.1.core.gcc44', 'pantheios.1.be.fprintf.gcc44', 'pantheios.1.bec.fprintf.gcc44',
'pantheios.1.fe.all.gcc44', 'pantheios.1.util.gcc44']
簡単な質問は次のとおりです。コンソール出力のオフ/オンを切り替える方法は? バックエンドに与えられる重大度レベルを選択する方法は?
ドキュメントを調べると、重大度レベルを取る関数がたくさんありますが、これらの関数は初期化のために一度自動的に呼び出されます。重大度レベルの動的な変更が可能であることを知っています。これらの設定をどこで変更するのか正確にはわかりません。それらはフロントエンドコンポーネントにあるはずです。「fe_all」へのリンクは、どのレベルがログに記録され、どのレベルが記録されないかをすでに決定していますか?
私の場合、ログのオン/オフに関するコンパイル時の決定のみが必要なので、比較的簡単なはずです。
ご協力いただきありがとうございます。
サーシャ
c++ - Pantheiosでログを記録するときに、既存の演算子<<オーバーロードを利用するにはどうすればよいですか?
operator<<
に書き込むために実装するユーザー定義型が大量にある場合std::ostream
。Pantheiosでタイプをログに記録するときに、これらをどのように使用できますか?
c++ - 高スループット データの非同期キャプチャ用の C++ ロギング ライブラリの実行可能性は?
C++ で書かれたリアルタイム システムを使用しています。ロギングには、boost または pantheios のいずれかを使用することを検討しています。システムには、どちらのフレームワークでも満たすことができると確信しているいくつかの標準的なログ要件がありますが、さらに、このシステムによってキャプチャされたすべての入力をログに記録できるようにしたいと考えています。この入力は、リアルタイムの制約があり、非効率的なロギングによる大幅な遅延を許容できない一部のスレッドを含む、複数のスレッドによってキャプチャされます。これにより、ログに記録されるデータのスループットが高くなります。
私は主に、タイム クリティカルなスレッドを遅延させることなく、複数のスレッドからのこのような高スループットのログを管理するために、どちらのフレームワークも信頼できるかどうかを知りたいと思っています。さらに、セキュリティで保護されたデータを持つキャプチャ入力を識別し、データ スクラビング フックを実行し、既にスクラブされた値のマッピングを含むバッファーを維持できる何らかのフックを追加する必要があるデータ スクラビングを行う必要がある場合があります。
両方のロギング プラットフォームでこれを実行できると思いますが、API を一目見ただけではわかりません。これらのロギング ツールのいずれかを使用したことがある人は、このコンテキストでどれだけ効率的か、説明したことを実装するのがどれほど簡単か、または 2 つのロギング フレームワーク間の好みについてフィードバックをもらえますか? 本当にどんな情報も役に立ちます。
ありがとう
windows - Pantheiosワイド文字?
ロギングをWindowsC++アプリケーションに統合しようとしていますが、一般的に非常に好意的なコメントがあるため、Pantheiosを使用したいと思いました。とは言うものの、含まれているすべての例は、文字列リテラルをラップするためにPANTHEIOS_LITERAL_STRINGなどのマクロを使用しており、次のようなtypedefが必要です。
typedef std::basic_string<PAN_CHAR_T> string_t;
正しくコンパイルします。これは醜いと思います。これらのtypedefは使用したくないと思います。
次に例を示します。http://www.pantheios.org/doc/html/cpp_2misc_2example_8cpp_8misc_8strings_2example_8cpp_8misc_8strings_8cpp-example.html
PANTHEIOS_USE_WIDE_STRINGSを無効にしてPantheiosをコンパイルしようとしましたが、ビルドエラーがたくさん発生します-何かアイデアはありますか?