問題タブ [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.
logging - log4cplus ログファイルを utf8 に変更する方法
ロガー アプリケーションとして log4cplus を使用するコードを受け取りました。UTF8 ロギング ファイルを生成するにはどうすればよいですか? log4cplus によって作成されるログ ファイルは、現時点では ASCII 形式です。
私は次のことを試しました
スクリプトで vim を使用してファイル エンコーディングを utf-8 に変更するの手順に従って、ログ ファイルのファイル エンコーディングを設定します。
.properties ファイルも変更しようとしました
log4cplus の正確なバージョンはわかりませんが、ロケートの結果は次のようになりました
c++ - C++ に Log4cplus を使用すると、サード パーティのメソッドが呼び出されてログ ファイルが切り捨てられると、ログが一時停止されます。
サードパーティのメソッドが呼び出されると、以下のエラーが発生します。サードパーティ関数が呼び出されたときのファイル ハンドルに問題があるようです。その後、1 ~ 2 秒後にロギングが開始されます。
07/22/14 12:00:22 [5944] DEBUG log4cplus: エラー ファイルが開いていません:
これを解決するにはどうすればよいですか?
- リスト項目
logging - log4cplus DailyRollingFileAppender 毎日午前 0 時にローリング
プログラムのログを書き込むために log4cplus を使用しています。ただし、DailyRollingFileAppender は期待どおりに機能しないようです。ログ ファイルは午前 0 時にロールされません。代わりに、午前 0 時以降に最初のログ メッセージが書き込まれたときに、ファイルがロールされます。私のアプリケーションでは、新しい日の「最初のメッセージ」は真夜中の数時間後になる可能性があります。しかし、ログ ファイルを正確に真夜中の 00:00 にローテーションする必要があります。以下は、log4cplus の構成ファイルです。
c++ - マルチスレッド環境で Log4cplus API がクラッシュする
log4cplus API がマルチスレッド環境で完全に機能するかどうかをチェックする簡単なプログラムを作成しましたが、実行すると常にクラッシュします。
なぜそれが起こっているのか、いくつか教えてください。ネット上のレビューのほとんどがスレッドセーフであると言っているので、log4cplus API を使用することにしました。
私のテストソースコードを以下に示します。
logs.properties ファイルを以下に示します
logging - log4cplus-1.1.2 では、なぜ Loger::value のタイプが SharedLoggerImplPtr ではなく、spi::LoggerImpl * なのですか?
最近、log4cplus-1.1.2 のソースコードを読んだところ、SharedLoggerImplPtr
. Loger::value
< spi::LoggerImpl *
/p>
Loger::value
行 284-285 の logger.hの定義:
行 105-110、149-153 での logger.cxx の ctor と dtor の実装:
本当?
logging - log4cplus の構造体 per_thread_data で thread_name を設定する方法
Linux で log4cplus-1.1.2 を使用しています。thread_name
とを設定する方法はないようthread_name2
ですstruct per_thread_data
。
struct per_thread_data
ファイル internal.h の 111 ~ 130 行の の定義は次のとおりです。
log4cplus は、ロギングのために各スレッドにそのような構造体を割り当てます。
LOG4CPLUS_EXPORT log4cplus::tstring const & getCurrentThreadName()
andを呼び出して、 and にそれぞれLOG4CPLUS_EXPORT log4cplus::tstring const & getCurrentThreadName2()
アクセスする唯一の方法です。ただし、ユーザーはこれらの値を変更できません。thread_name
thread_name2
c++ - log4cplus をファイナライズする必要はありませんか? アプリケーションを実行するたびに新しいファイルを作成しますか?
log4cplus の例をいくつか読みました。しかし、log4cplus のファイナライズの例を見つけたことがありません。自分でlog4cplusをファイナライズする必要はありませんか?log4cplus は、アプリケーションの終了後に自動的にファイナライズします。 http://sourceforge.net/p/log4cplus/wiki/CodeExamples/
そしてもう1つ質問です。アプリケーションを実行するたびに新しいログ ファイルを作成する方法はありますか? ログファイル名にタイムスタンプを使用したい。
c++ - log4cplus プロパティ ファイルの変更が実行時に読み取られない
log4cplus が動的な変更を選択するのに役立つ構成はありますか? 実行時に log4cplus のプロパティを変更しており、log4cplus にそれらの変更を動的に選択させたいと考えています。