問題タブ [fileappender]
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.
log4j - サイズ (のみ) に基づいて log4j ファイルを制限するにはどうすればよいですか?
指定した最大サイズ (5MB など) までのファイルのみを書き込むように log4j を構成したいと考えています。ログ ファイルが 5MB に達すると、新しいファイルへの書き込みを開始します。あるファイルと次のファイルを区別するために、何らかの意味のあるタイムスタンプをログファイル名に入れたいと思います。
新しいファイルが書き込まれるときに、古いファイルの名前を変更したり操作したりする必要はありません(圧縮は恩恵ですが、必須ではありません)。
一定期間またはロールされたファイルの数の後に古いファイルの削除を開始することは絶対に望んでいません。
N MB のログファイルのタイムスタンプ付きチャンクは、私が想像できる絶対的に基本的な最小限の単純な戦略のようです。これは非常に基本的なものなので、すぐに使用できるものではないとは信じられませんが、これを行う方法を理解することができませんでした!
DailyRollingFileAppender
特に、私は、RollingFileAppender
または 'Extras' のすべての化身を試しRollingFileAppender
ました。これらはすべて、backupcount を超えると古いファイルを削除します。私はこれを望んでいません、私はすべてのログファイルが欲しいです!
TimeBasedRollingPolicy
from Extras は、最大ファイル サイズ オプションがなく、セカンダリを関連付けることができないため適合しませんSizeBasedTriggeringPolicy
(既に実装されているためTriggeringPolicy
)。
すぐに使用できるソリューションはありますか? できれば Maven Central にあるソリューションですか?
xml - コンソールとファイル アペンダーを使用した非常に単純な log4j2 XML 構成ファイル
コンソールと log4j2 を使用したファイル アペンダーを備えた非常に単純な XML 構成ファイルが必要です。
(Apache Web サイトは、多くの情報で私を殺しています。)
java - クラスの各インスタンスの Log4j ファイル アペンダー
テストケースのリストを持つシナリオクラスがあります。各テスト ケースの実行を別の名前のファイルに保存する方法はありますTestCaseName.log
か?
コードにファイル ハンドラを追加することで以前にこれを行っjava.util.logging
たことがありますが、Log4j でこれを行う方法がわかりません。
log4net - 「手動で」log4net RollingFileAppender ログ ファイルをローリングしますか?
日付/時刻または指定された最大サイズの後にログをロールするのではなく、「log.txt」を「log.txt.1」にコピーしてから log.txt をクリアする「ResetLog」のようなメソッドを呼び出せるようにしたいと考えています。 .
RollingFileAppender ではなく、FileAppender で次のようなことを行うことで、それを実装しようとしました。
ファイルが閉じられ、CreateNextLogFile() によって名前が変更されます。次に、新しいログ ファイルを作成し、それを使用するように FileAppender を設定します。ただし、ActivateOptions が先に進み、目的の設定で FileAppender を再構成すると考えました。log4net のドキュメントを調べましたが、FileAppender を閉じた後に再度開くことができるパブリック メソッドは他にありません。ロールオーバーを実装する方法を推奨できる人はいますか? RollingFileAppender にこのようなものがあればいいのですが、そのドキュメントにも役立つものは何もありませんでした。
java - log4j FileAppender が Linux に書き込めない
スタンドアロン アプリケーションでは、ログ記録に log4j を使用しており、次のプロパティ ファイルで構成しています。
Windows では、これは期待どおりに機能し、現在の作業ディレクトリに log4j.log ファイルが生成されます。Linux でアプリケーションを実行すると、エラーは報告されませんが、ログ ファイルは生成されません。ロガーはコンソールに問題なく出力します。
File プロパティを相対パスから絶対パスにプログラムで変更しようとしましたが、何も変わりませんでした。
また、無効なファイル名を指定すると、ツールがファイルを生成できないというエラーを報告することも確認しました。そのため、エラーが報告されず、ファイルが生成されない理由について困惑しています。
ハードディスクを検索して、ファイルが他の場所で生成されていないことを確認しましたが、そうではありません。
ここで何か助けていただければ幸いです。
java - ロガーを使用してクラスを構成し、log4j でファイルにログを記録する
こんにちは、それぞれがロガー クラスの匿名インスタンスを共有する 4 つのクラスがあります (私の作成ではありません)。log4j アペンダーを追加し、ロガーがアペンダー ファイルにログを記録するように設定しました。問題は、Hibernate を含むすべてがファイルに記録されていることです。このファイルにのみログを記録するようにクラスを設定するにはどうすればよいですか?
ここに私の現在の構成ファイルがあります:
私のクラスの 1 つは、SeriousEvent と呼ばれます。このクラスでファイル com.daniels.logging.RollingFileAppender にログを記録したい場合、どのように設定すればよいでしょうか? 私はロギングに慣れていないので、許してください。私はドキュメントに目を通しましたが、良い例を得るのが難しいと感じています.
ありがとう、ダニエル
java - log4j で ConsoleAppender を FileAppender に置き換える
ConsoleAppender を使用して log4j ロガー上にロガーを作成しました。コードは次のとおりです。
log4j.properties ファイルをどこに置くべきかわからないため、使用していません。上記のコードは正常に機能しており、コンソールに正しく記録されています。FileAppender で使用するように変更したいと思います。
次のように静的コンストラクターを単純に更新しました。
fa
の代わりに追加されましたca
。しかし、今私はこのエラーを受けています、
log4j:ERROR [null] という名前のアペンダーに出力ストリームまたはファイルが設定されていません。
File Appender から定義するために欠落しているプロパティがわかりません。