問題タブ [filehandler]

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.

0 投票する
2 に答える
1362 参照

java - クラスのインスタンスごとに個別のログ ファイルを書き込む方法は?

プログラムのログ記録に java.util.logging を使用しています。問題は、クラス テスト ケースのインスタンスごとに個別のログ ファイルを作成する必要があることです。たとえば、3 つのテスト ケース オブジェクトがあり、最終的には 3 つのログ ファイルを取得しますが、次のようになります。

テスト ケース #3 にはテスト ケース #3 のログが含まれ、テスト ケース #2 にはテスト ケース 2 および 3 のログが含まれ、テスト ケース #1 にはすべてのテスト ケースのログが含まれます。

これが私のコードです:

0 投票する
1 に答える
227 参照

java - タグ内の Java XML ロギング

たとえば、メッセージを次々に記録する XML ログを生成しようとしています。

さまざまなソリューションを見てきましたが、必要に応じて機能するものはないようです。私が最も近いのは、次を使用することです: http://www.vogella.com/tutorials/Logging/article.html

私はそれを自分のニーズに合わせて調整しました。

これに関する問題は、私の FileHandler が閉じられるまで getTail が呼び出されないため、閉じられたときにのみ有効になることです。

私はそれを閉じて、次のメッセージのために append = true で FileHandler を再度開いてみましたが、これは (当然のことながら) ログの最後に追加されます。例えば

これは本当にシンプルであるべきだと感じます...

0 投票する
1 に答える
3120 参照

java - FileHandler を使用してロガー ファイルのディレクトリを作成する方法

各ディレクトリが作成されたディレクトリにログを作成しようとしていますが、fileHandler はディレクトリを作成していませんこのディレクトリにログを作成します)。「fileHandler」でディレクトリを作成できますか?

log4J は、存在しない場合でもディレクトリを作成できますが、これは fileHandler を介して可能ではありませんか?

0 投票する
2 に答える
1006 参照

java - Java FileHandler ファイル名に不要な数字を追加する

私はログのために JUL を使用しています (いいえ、変更できません)。パラメータを渡す単純なラッパーを開発しました。毎回正しい形式で FileHandler を作成するので、すべてのプロジェクトでログを再作成する必要はありません。

テスト アプリは意図したとおりに機能しますが、ライブラリを他のプロジェクトにインポートすると、1 つ (これまでのところ 1 つだけ) 固有のエラーが発生するようです: 毎回、ログ ファイルの末尾に ".0" が追加されます。 .

競合がなく、ファイルハンドラーが既存のファイルの最後に追加するように構成されている場合でも、これが行われます (これは問題ありません)。さまざまなファイル名で遊んできましたが、最近では単純な「mylog.log」を使用しており、ログファイルは引き続き「mylog.log.0」として出力されます。確認したところ、fileHandler に正しいファイル (「mylog.log」) が渡されていますが、そこにログが記録されていません。

これは、ログ テストでは発生せず、実際に使用したいプロジェクトでのみ発生します。まったく同じパラメーターを使用しても、異なるファイル名が取得されます。

私が見逃しているJULについての癖はありますか?コードはとてもシンプルです。関連コード:

0 投票する
1 に答える
70 参照

c# - ファイルハンドラーの保存されていない変更

C# で単純なファイル ハンドラーを作成しましたが、保存されていない変更に問題があります。テキストフィールドのテキストを変更したら*、フォームウィンドウ名に a を付けて表示したいです。formWindow名textfield1_TextChangedにたくさんあるので、aは使用できません。*私の質問は、どうすればこれを実現でき、ブール値の「Changed」がtrue1 つしかないことを確認できるかということ*です。ブール値を保存すると、false になり*、FormWindow 名から削除されます。

コメントは気にしないでください。コメントはスウェーデン語であり、自己説明用です。

0 投票する
3 に答える
300 参照

java - ProcessBuilder と FileHandler の違い

ProcessBuilderとの違いを説明してくださいFileHandler。どの状況でどちらを使用する必要がありますか。

たとえば、コマンドの出力を「logfile.txt」などのテキスト ファイルにリダイレクトする場合ProcessBuilder、ファイルに出力を取得するのに数秒かかります。

FileHandler100 個のプロセスが出力を同じ「logfile.txt 」に送信する必要があるような状況で、これは何ができるでしょうか?

のメソッドを使用せずに、100 レコードすべての出力を同じ「logfile.txt 」に取得する方法はありますか? これは私のコードですが、100 レコードが同時にスケジュールされている場合、p.waitfor() メソッドは役に立ちません。コマンドを実行してすべてのプロセスのログファイルに出力を取得するのに数秒かかり、100 プロセスの場合はさらに時間がかかるためです。 DB 内のすべてのレコードに対して同じコマンドを実行する時間。しかし、私のアプリケーションは毎分開始されます。それが問題です。 process.waitFor() は正確な出力を得るのに役立ちますが、レコードの数が多いほど時間がかかります。待つべきではないが、すべての出力を同期的にファイルに追加する必要がある別の方法が必要です。process.waitFor()ProcessBuilder

0 投票する
1 に答える
6292 参照

java - Java 8 の java.util.logging.FileHandler は壊れていますか?

まず、簡単なテスト コード:

このテストコードは、プログラムを実行する頻度に関係なく、Java 7 で「test_0_0.log」ファイルを 1 つだけ作成します。コンストラクターの追加パラメーターが true に設定されているため、これは予想される動作です。

しかし、このサンプルを Java 8 で実行すると、実行ごとに新しいファイル (test_0_0.log、test_0_1.log、test_0_2.log、...) が作成されます。これはバグだと思います。

私見、Javaの関連する変更はこれです:

(全文: OpenJDK 変更セット 6123:ac22a52a732c )

通常、FileHandler は Logmanager によって閉じられることはわかっていますが、システムまたはアプリケーションがクラッシュしたり、プロセスが強制終了されたりした場合は、そうではありません。これが、上記のサンプル コードに "close" ステートメントがない理由です。

今、私は2つの質問があります:

1) あなたの意見は? これはバグですか?(以下のコメントと回答でほぼ答えられています)

2) Java 8 で古い Java 7 の動作を取得するための回避策を知っていますか? (もっと重要な質問...)

回答ありがとうございます。

0 投票する
1 に答える
510 参照

javascript - サイズと名前を JavaScript の FileHandler の .onload イベントに渡す

ファイルの名前とサイズを JavaScript の FileHandler の .onload イベントに渡す方法を教えてください。ご覧のとおり、(まだ宣言されていない) 変数sizename以下の Ajax 呼び出しを使用しています。ただし、関数からそれらを渡す必要がありgetData()ます。

Pass a parameter to FileReader onload イベントを見つけましたが、うまくいかないようです。

0 投票する
3 に答える
56247 参照

python - Python でログ ファイルのサイズを制限する方法

Windows 7 と Python 2.7 を使用しています。ログ ファイルのサイズを 5MB に制限したいと考えています。私のアプリは、起動時にログファイルに書き込み、その後アプリが終了します。アプリが再起動すると、同じログ ファイルに書き込まれます。そのため、アプリは継続的に実行されていません。アプリが開始、処理、および終了します。

ロギング用の私のコードは次のとおりです。

RotatingFileHandlerで試しましたが、うまくいきませんでした

では、Python でファイル サイズの制限を適用するにはどうすればよいでしょうか。

0 投票する
4 に答える
7268 参照

python - PythonのTimedRotatingFileHandlerで回転名を強制する方法は?

TimedRotatingFileHandlerを使用して、毎日のログを別のログ ファイルに保存しようとしています。ローテーションは意図したとおりに完全に機能しますが、その方法が気に入らないのはファイルの命名です。

ログ ファイルを my_log_file.log として設定すると、これが「今日の」ログ ファイルになり、午前 0 時に日が変わるとmy_log_file.log.2014-07-08、最後に .log 拡張子のない名前に変更され、新しいログ ファイルmy_log_file.logが作成されます。新しい日。

私が取得したいのは、古いファイルの名前がmy_log_file.2014-07-08.logまたはに変更されていることですmy_log_file-2014-07-08.log。主に、途中ではなく最後に.logがあります。また、「今日の」ログ ファイルには、古いものと同じように、今日の日付で既に名前が付けられていることを望みます。

そうする方法はありますか?

次の方法で接尾辞をパーソナライズできることがわかりました。

handler.suffix = "%Y-%m-%d"

しかし、内部の .log 部分を削除し、現在のログ ファイルに強制的にサフィックスを追加する方法がわかりません。