1

MS Enterprise Library 5.0 の Logging application block, at runtime, ログの保存先のログ ファイル (フラット ファイル リスナー) の名前を取得できますか?

4

2 に答える 2

2

構成オブジェクトを使用して、その情報を取得できます。

IConfigurationSource configSource = ConfigurationSourceFactory.Create();
var logSettings = configSource.GetSection(LoggingSettings.SectionName) as LoggingSettings;

var flatFileTraceListener = logSettings.TraceListeners
    .First(t => t is FlatFileTraceListenerData) as FlatFileTraceListenerData;

string fileName = flatFileTraceListener.FileName;

これは、FlatFileTraceListener である最初のトレース リスナーに関心があることを前提としています。タイプと名前でトレース リスナーを取得したい場合は、それも可能です。

IConfigurationSource configSource = ConfigurationSourceFactory.Create();
var logSettings = configSource.GetSection(LoggingSettings.SectionName) as LoggingSettings;

var flatFileTraceListener = logSettings.TraceListeners
    .FirstOrDefault(t => t is FlatFileTraceListenerData && t.Name == "Flat File Trace Listener")
    as FlatFileTraceListenerData;

string fileName = flatFileTraceListener.FileName;
于 2013-05-18T02:54:36.530 に答える