問題タブ [nlog-configuration]
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.
sharepoint - NLogを使用してロギングを一元化するための最良の方法は何ですか?
私は、SharePointに基づいた多くの不十分に記述されたコードを含むプロジェクトを割り当てられました。
これは約15のサブプロジェクトで構成されており、そのうちのいくつかはWindowsサービス、いくつかのWebサービス、SharePoint内で実行されるいくつかのWebアプリケーション、いくつかはWebパーツ、さらにはコンソールアプリケーションです。それらはすべて同じサーバー上で実行され、相互に呼び出します。
本番環境にはすでに多くの問題がありますが、追跡するのは困難です。
元の開発者は、すべての例外をキャッチするための彼のたゆまぬ努力から判断して、サリンジャーまたはポケモンシリーズのいずれかのファンであったに違いありません。残念ながら、それらのいずれも報告またはログに記録されません。
私の現在のタスクは、プロジェクト全体にログインを導入することです。これにより、現在は表示されていない例外を見つけ、絡み合った繰り返し呼び出しを追跡し、少なくともいくつかのスタックトレースを取得できます。私はNLogを使用することにしました。これは、 log4netは完全に優れていますが、私の好みには多少劣るのとは対照的に、アクティブでクールであることがわかりました。
コンポーネントは緊密に結合されているため、関連するエラーがハードドライブ全体に分散しないように、ログを1つのファイルに一元化する必要があります。したがって、5つ以上のプロジェクトが多かれ少なかれ同時にそれぞれに書き込みを行う2つまたは3つの異なるログファイルを探しています。
ロギングを一元化するようにNLogを構成する最良の方法は何ですか?プロジェクトごとに構成ファイルを用意する必要がありますか、それとも関連するプロジェクトで共有する必要がありますか?SharePoint Webパーツからログに記録する構成ファイルはどこに置く必要がありますか?許可の問題に直面しますか?
SharePoint2007を使用しています。
c# - NLogの同じターゲットに異なるレイアウトを適用するにはどうすればよいですか?
NLogを使用SplitGroup
すると、メッセージを複数のターゲットに記録するために使用できます。この機能を使用して、各メッセージを共通のユーザー固有および日付固有のログに一度に記録したいと思います。
これは素晴らしいことですが、重大度のレベルごとに異なるレイアウトを使用したいと思います。たとえばerrorLayout
、例外情報を含めて[!]
マーカーを挿入すると、後でBareTailなどのログビューアでエラーを強調表示できるようになります。
Error
このコードは、sには常に例外があり、例外がないことを前提とWarning
していますが、それは重要ではありません。
問題は、この構成が間違っていることです。属性がないためlogger
動作しません。layout
のみに定義されてtarget
います。
使用されているレイアウトは、ターゲット自体が宣言する必要がありますが、重大度レベルごとに異なるレイアウトを指定する手段がありません。
layout
今のところ、同じファイルセットに対して4つの異なるを作成するために、同じ構成コードを4回コピーアンドペーストする必要がありました。
これは私の目を痛めるだけです。
これを行い、重複を避けるためのより良い方法はありますか?
asp.net - NLogConfigurationException - 'System.String' から 'System.Uri' への無効なキャスト
1.0 -> 2.0 から更新したため、Nlog が例外をスローしています。
NLog.Config.XmlLoggingConfiguration.Initialize が呼び出されると、次の例外が発生します:
「WebService Target[Target_AuditLog_WebService_Global] でプロパティ 'Url' を設定するときにエラー
が発生しました」という innerException が発生しました:
「'System.String' から 'System.Uri' への無効なキャスト」 .
ターゲットは次のようになります。
私はこれを見つけましたが、彼らはそれが修正されたと考えているようです: http://nlog.codeplex.com/workitem/5352
nlog - nLog条件付きレイアウト
私はnLog2.0を使用しており、この興味深い記事を読んだ後、次のような単純なレイアウトに条件を適用しようとしました。
これらはいずれも効果がないだけでなく、エラーもスローしないため、条件がどこかで静かに飲み込まれているように見えます(throwExceptions
trueに設定されています)
- 条件付きレイアウトを機能させる方法は?彼らも働きますか
- 何かが間違っている/認識されていない場合、nLogは例外をスローできますか?
これが完全なコードです。これは基本的なコンソールアプリケーションです。
main.cs:
NLog.config(実行可能ディレクトリ内):
出力:
nlog - NLog 構成の変更が有効にならないのはなぜですか?
次の方法でNLogの構成を変更しようとしました:
しかし、それは私の変更を黙って無視しました。しかし、私が試したとき
すぐに機能しましたが、以前の構成はすべて破棄されました。それはなぜですか、どうすればこれを解決できますか?
c# - NLog.config ファイルを "\bin\debug\" の代わりに (d:\dev) からロードするようにします。
特定の DLL でログを記録するために Nlog を使用しました。その後、DLL は別のアプリケーションで使用されます (DLL は を使用して動的にロードされますSystem.Reflection.Assembly.LoadFrom(path + a.dll)
)。Nlog.dll および Nlog.config ファイルを Path フォルダーに手動で配置したところ、アプリケーションは正しく実行されますが、メッセージがログに記録されません。
ただし、Nlog.config ファイルをアプリケーション ディレクトリ ( \bin\debug\
) に手動で配置すると、メッセージがログに記録されます。
Nlog.Config の検索場所をd:\dev
以外の別のディレクトリ ()にポイントする方法を教えてください\bin\debug\
。
c# - NLog イベント コンテキスト レイアウト レンダラーを使用して ms 精度で日時をログに記録する
NLog 2 を使用して、いくつかの監査情報を SQL Server 2008 テーブルに記録しようとしています。パラメーターを SQL 挿入クエリに渡すことができるようにするために、 LogEventInfo とEvent Context Layout Rendererを使用しています。
ロギング自体は機能しますが、日時は秒精度でのみ保存されます。ミリ秒の精度で保存できるようにしたいのですが、これを行う方法を示すものは何も見つかりませんでした。
これは、イベントをログに記録する C# コードです。
これは、私の NLog.config 構成にあるターゲットです。
私が見つけた回避策がありますがtheEvent.Properties["RequestDate"] = requestDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff")
、日時の書式設定とカルチャで問題が発生する可能性があるため、これを行う必要はありません。
NLog.configのconfigで精度を変更できる方法を知っている人はいますか?
.net - NLog.config 情報を app.config ファイル内に配置する方法はありますか?
NLog.config 情報を app.config ファイル内に配置する方法はありますか? このようにして、2 つではなく 1 つの構成ファイルを持つことができます。次のようになります。
これが重複している場合はお知らせください。
c# - ターゲットが見つからない場合は無視
nlog.config ファイルで構成された nlog ロガーがあります。構成ファイルで複数のターゲットが定義されています。nlog がターゲットを見つけられなかった場合 (ネットワーク エラーによるデータベースなど)、その特定のターゲットを無視して、他のすべてのターゲットに書き込むことができる可能性はありますか。
現在、ターゲットが見つからない場合は、例外をスローしてプログラムを中断します。すべてのターゲットが見つかったかどうかを確認し、それに応じて行動する方法はありますか。
また、見つからない場合に .config ファイルを動的に作成する方法はありますか? 最後の解決策は、XmlWriter
クラスを使用して手動で書き込むことですが、nlog にこのためのデフォルトがあるかどうか疑問に思っていました。
exception - 例外をログに記録する NLog LogEventInfo
LogEventInfo を使用して、ログ ファイルとデータベース エントリの両方にログを記録しています。また、例外がログ ファイルにスローされたときにスタック トレースをログに記録したいと考えています。LogEventInfo の Exception プロパティを、ログに記録したい例外に設定するだけでよいと思っていましたが、うまくいきませんでした。ログ ファイルには「Error my message」しか含まれていません。私はどこで間違ったのですか?ありがとう。
NLog.config は次のようなものです
そしてC#コード