問題タブ [appender]
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.
.net - 同様のログルート名を持つlog4netロガー階層
ここでバグを見つけましたか、それともこの構成で何か問題がありますか?
標準の「...DeclaringType」命名スキームに従ってロガーに名前を付けたと仮定すると、ここでの私の期待は、警告以上である限り、MyApp.Common名前空間の下のすべてがコンソールに記録されることです。SomeGenericClass`1のすべては、INFO以上の場合はログに記録されます(WARNロガーのためにWARN以上の場合は2回ログに記録されます)。
何が起こっているのかというと、INFOにログインしたSomeGenericClass`1のすべてが、予想された1回ではなく、2回コンソールにパイプアウトされます。より具体的なロガーを削除すると、何もログに記録されません。また、より具体的でないロガーを削除すると、両方とも期待どおりに1回だけログに記録されます。さらに、構成ファイル内のロガーの順序を逆にしても何も起こりません(私が予想するように、順序は重要ではないと思うので)。
ここでバグを見つけましたか、それとも階層の動作に重要な何かが欠けていますか?
log4net - コンテキスト プロパティまたはコンテキスト スタック レベルごとにファイルを作成するように log4net アペンダーをセットアップしますか?
API への呼び出しを記録するために log4net を使用しています。多くの呼び出し。私が呼び出しているメソッドには、要求/応答のペアに対して数メガバイトのデータがあり、使用するロギング パターンに関係なく、同じファイルに複数の呼び出しが書き込まれたログを読み取るのは非常に困難です。したがって、複数のファイルにログを記録するのが最善の方法だと思います。
log4netでこれを行う方法、またはそれがサポートされているかどうかを理解するのに苦労しています。
Log4Net FAQ から -複数のクライアント リクエストの出力が異なるログ ファイルに出力されることはありますか?
多くの開発者は、同じクラスで異なるクライアント要求から発生したログ出力を区別するという問題に直面しています。彼らは、ログ出力をさまざまなファイルに展開するための巧妙なメカニズムを考え出しました。ほとんどの場合、これは正しいアプローチではありません。
コンテキスト プロパティまたはスタック (ThreadContext) を使用する方が簡単です。その後、ログ出力には自動的にコンテキスト データが含まれるため、同じファイルに出力された場合でも異なるクライアント リクエストからのログを区別できます。
Contexts と Context Properties に関するドキュメントを見ました。Event Context が最も適しているように見えましたが、他の Context のドキュメントも読んでみました。ログファイル名のコンポーネントではなく、ログファイルに追加のプロパティを配置したり、別のファイルに自動的に追加したりできるようになっているようです。
異なるコンテキスト プロパティやコンテキスト スタック レベルなどに対して異なるファイルを作成するようにアペンダーを構成する方法はありますか?
編集:
Castle Windsor Logging 機能を介して log4net を使用していますが、この問題を解決するために NLog に切り替えることを検討しています。
NLog は、ターゲットのプロパティ{logger}
でレイアウト レンダラーを使用することにより、この動作をサポートしているようです。ウィンザーの方法で子ロガーを作成し、 を設定することで、このプロパティを効果的に設定できます。File
fileName
ILogger.CreateChildLogger
{logger.shortName=True}
見る:
http://nlog-project.org/forum#nabble-td1685989
私がテストしているプロジェクトでは log4net が使用されているため、できれば log4net を使用したいと思います。私のNLogの例は、log4netでこれを行う方法について誰かにインスピレーションを与えることができ、おそらく彼らは私がそれを理解するのを助けることができます:)
slf4j - LogbackのSyslogAppender
syslogアペンダーでlogbackのドキュメントを何度も読みました。私はsyslogデーモンがすべてのコンピューターで実行されているという印象を受けているので、例のように構成をセットアップしました。プログラムを実行しても、システムログをチェックしてもエラーは発生していませんが、何も記録されていません。
java - log4jで独自のアペンダーを作成するにはどうすればよいですか?
log4jは初めてです。誰かが自分のアペンダーを作成する方法を説明できますか?つまり、クラスとインターフェイスを実装する方法と、それをオーバーライドする方法は?
java - EclipseIDE - 新しい単体テスト ケースを既存のテスト クラスに追加しますか?
パッケージにSampleClass.java
5 つのメソッドがあり、Eclipse を使用してパッケージに/MyProject/src/sample
ユニット テスト クラスを生成し、5 つのテスト メソッドとアノテーションを使用して .NET の 5 つのメソッドに逆方向にリンクし、それらのテスト メソッドを変更しました。ここで、3 つのメソッドを に追加します。最初に? もしそうなら、やり方を教えてください!どうもありがとう!TestSampleClass.java
/MyProject/src_ut/sample
SampleClass.java
SampleClass.java
TestSampleClass.java
c++ - Log4CxxSQLサーバーアペンダー
Log4Cxxを使用している場合、ログをMS SQLサーバーに書き込むことはできますか?私はしばらくの間グーグルをしていて、ODBCAppenderを使用するいくつかの例を見つけました。例えば:
たぶん、「ドライバー」フィールドに正しい値が必要ですか?MS SQLServer2008を使用しています。
ありがとうございました!
java - log4j 用のインターフェース/GUI アペンダーはありますか?
GUI のテキストフィールドやリストなど (ImgBurn など) にログを表示したいのですが、これを行う準備が整ったアペンダーが見つかりませんでした。これを行うアペンダーはありますか?
現在、問題なくコンソールにログを記録しています。
java - log4jAppender内にログインするときの循環依存
http経由でサーバーにログを送信するlog4jアペンダーを書いています。コードを素晴らしくシンプルに保つために、apache-commonsのHttpClientを使用したかったのです。
現在の問題は、HttpClientandCo.がlog4j自体を使用していることです。通常は良いことですが、log4jアペンダー実装内からそれらを呼び出すと、循環参照または無限ループが導入され、最終的にOutOfMemoryExceptionが発生します。
もちろん、サードパーティのライブラリがなくても好きなものを書くことができますが、この種の問題に対する既知の解決策があるかどうか疑問に思いました。
maven - 私のmavenプロジェクトのパスに相対的なlog4jアペンダー
現在のmavenプロジェクトに保存されるlog4jアペンダーを定義しようとしています(開発のみ)。アペンダーが展開された webapp で終了するのではなく、実際の maven プロジェクトで、webapp が展開されている場所 (もちろんローカル) に関係なく、ソースの隣にあることを望みます。
私はさまざまなmaven(および非maven)変数を試してみましたが、うまくいきませんでした。
これを簡単に行うために欠落している変数はありますか? どんな助けでも大歓迎です。ありがとう。
java - Log4J を使用して Java でバイナリ ログ ファイルを作成する方法
FileAppender、RollingFileAppender などを使用してログ ファイルを作成できます。
私の問題は、ログが誰でも読めるプレーン テキストとして書き込まれていることですが、人間が読めないバイナリ ファイルとしてログを登録したいと考えています。
サンプルコード用のバイナリログファイルを作成する提案を手伝ってくれる人はいますか?