まず、log4cplus のソース コードに感謝します。
私は次のように1つの問題に直面しています:
私は何をしようとしていますか?メッセージをWindowsのイベントログに記録したい。
私は何をしましたか?次の.hを含めることで、イベントログを有効にすることができました
#include <log4cplus/nteventlogappender.h>
そして、次のようにアペンダーを作成します。
SharedAppenderPtr append_3(new NTEventLogAppender(LOG4CPLUS_TEXT("127.0.0.1"), LOG4CPLUS_TEXT("log"), LOG4CPLUS_TEXT("source")));
append_3->setName(LOG4CPLUS_TEXT("ToEventlog"));
Logger to_eventlog = Logger::getInstance(LOG4CPLUS_TEXT("to_eventlog"));
to_eventlog.addAppender(append_3);
to_eventlog.setLogLevel(log4cplus::ALL_LOG_LEVEL);
そして、次のようにログインします
Logger to_eventlog = Logger::getInstance(LOG4CPLUS_TEXT("to_eventlog"));
LOG4CPLUS_FATAL(to_eventlog, “Test Message.”);
メッセージをログに記録すると、イベント ログに次のように表示されます。
ソース source からのイベント ID 4096 の説明が見つかりません。このイベントを発生させるコンポーネントがローカル コンピューターにインストールされていないか、インストールが破損しています。コンポーネントをローカル コンピューターにインストールまたは修復できます。
イベントが別のコンピューターで発生した場合、表示情報をイベントと共に保存する必要がありました。
イベントには次の情報が含まれていました。
テスト メッセージ。
メッセージ リソースは存在しますが、文字列/メッセージ テーブルにメッセージが見つかりません
NTEventLogAppender.dll という名前の dll を文字列テーブル リソースと ID 4096 の文字列 (log4cplus の nteventlogappender.cxx ファイルにハードコードされている) で作成しようとしましたが、リソースのみの dll (/NOENTRY) でコンパイルしましたが、それでも上に行き続けますエラー。
すでに log4cplus-devel@lists.sourceforge.net に質問を試みましたが、まだ回答が得られませんでした。
この dll の作成方法に関するヘルプをいただければ幸いです。
ありがとう。