問題タブ [log4cplus]
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.
log4cplus - 切り捨てて上書きするのではなく、FileAppender をファイルに追加しようとしています
OK、log4cplus を使ってログをファイルに記録しました。プログラムが再起動したときに、上書きするのではなく、単純に追加したいのです。
私はこれを試しました:
log4cplus::SharedAppenderPtr myAppender(new log4cplus::FileAppender "myLogFile.log",std::ios_base::ate));
しかし、それでも切り捨てられて上書きされました。
Rolling または Daily FileAppenders を使用したくありません (少なくとも)。
ありがとう、-g
c++ - スレッド名はlog4cplusでどのように設定されていますか?
Linux でマルチスレッド C++ アプリケーションの log4cplus を評価しています。TTCCLayout と PatternLayout を使用すると、スレッド名を表示できます。私のテストでは、名前はなく、意味のない数字だけでした。log4cplus のスレッド クラスは使用していません。log4cplus はこのスレッド名をどのように決定し、自分で設定することは可能ですか?
logging - Apache log4cxx と log4cplus の主な違い
これらの C++ ロガーを利用できるアプリをビルドする必要があります。私は両方のロガー (Apache log4cxx と log4cplus) を調べています。2 つの違いを知りたいです。私が見たことの1つは、APR(Apache Portable Runtime)を利用するApache log4cxxです。
では、この 2 つの違いを誰か教えてもらえますか?
c++ - 重複したメッセージがログに記録される理由
私はlog4cplusが初めてです。私は次の構成を持っています:
次のコードをロードします。
問題なくロードされますが、何かをログに記録するたびに、ログに 2 つのメッセージが表示されます。たとえば、次のコードを使用してログに記録します。
ログに表示される内容は次のとおりです。
なぜこれが起こっているのですか?
c++ - log4cplus を使用してログ ファイルにメソッド名を出力する方法
log4cplus でラッパー ライブラリを作成しました。私のライブラリにはLogMessage
、ログメッセージを保存するために log4cplus ライブラリ関数を呼び出している関数があります。
例えば。アプリケーション.cpp
mylibrary.cpp
私のアプリケーションから、関数名も渡したいと思います。
例えば。アプリケーション.cpp
このログ メッセージをコンソール画面に出力するにはどうすればよいですか? 以下の関数は、ファイルと行番号のみを引数として取ります。また、関数名も出力したいと思います。
更新: 申し訳ありませんが、PrintLogMessage で LogMessage 関数を #define したことを忘れていました
だから私が使用しているアプリケーションでは、この行だけを書く必要があります
アプリケーション.cpp
そして、私は同様の種類を書きたい
機能性のために__FUNCTION__
。ユーザーが毎回FILE、LINE、FUNCTIONを書きたくない。
logging - log4cplusを使用してローカルシステム時間を出力するには?
PatternLayout
を使用するかどうかを選択する%d{%m/%d/%y %H:%M:%S}
と、現在の日付と時刻が表示されます。時間はUTC
フォーマットに準じます。
私の要件は、ローカルシステム時間に従って時間を表示することです。
アップデート:
ローカルシステム時間に従って時間を表示するtimehelper.h
方法は1つありますか?Time::localtime
c++ - VS2012 で使用した場合の log4cplus リンク エラー
VS2012 で log4cplus をダウンロードしてコンパイルしました。コンパイルは問題ありませんでした (デバッグとリリースの両方) コードで使用しようとしましたが、3 つのリンク エラーが発生しました。log4cplus プロジェクトの同じインクルードと、コンパイルしたライブラリを使用しています (3 つすべてを試しました... デバッグ リリースと log4cplusS.lib
私はまだこれらを取得します:
エラー LNK2019: 未解決の外部シンボル "__declspec(dllimport) クラス std::basic_ostringstream、クラス std::allocator > & __cdecl log4cplus::detail::get_macro_body_oss(void)" (_ imp ?get_macro_body_oss@detail@log4cplus@@YAAAV?$ basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ) 関数で参照される "int __cdecl Prepare(class std::basic_string,class std::allocator > &,class std::basic_string,class std::allocator > &,class std::basic_string,class std::allocator > &,int *,int *,int *)" (?Prepare@@YAHAAV?$basic_string@DU?$ char_traits@D@std@@V?$allocator@D@2@@std@@00PAH11@Z)
エラー LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string,class std::allocator > const &)" (_ imp ?getInstance@関数 "int __cdecl Prepare(class std ::basic_string,class std::allocator > &,class std::basic_string,class std::allocator > &,class std::basic_string,class std::allocator > &,int *,int *,int *)" (?Prepare@@YAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00PAH11@Z)
なにが問題ですか?
私のコードは単純で、dll cpp では次のようになります。
追加したcppの上部に
私が追加した関数の1つで:
c++ - DLL で Log4Cplus を使用する方法
DLL で Log4Cplus を使用するベスト プラクティスは何ですか?
FileAppender を使用したい。
DLLMain と 3 つのエクスポートされた関数を持つ win32 DLL があります。
Appender と Layout オブジェクトはどこで定義しますか? プロパティをどこに設定しますか? それらを logger にリンクする場所は?
呼び出すだけで推測するdll内のすべてのクラスでロガーを使用したい:
log4cplus マクロを有効にして、dll 内のすべての関数で動作させるには、どこにコードを配置すればよいですか?
通常のプログラムでは、グローバル変数を使用し、main またはいくつかの ctor を使用してそれらを設定すると、すべてがそれらを見ることができます。dll 内で何をしますか?
(エクスポートされたすべての関数でセットアップ コードを呼び出したくはありませんが、dll が読み込まれたときに 1 回だけ呼び出します)