2017-06-22 6 views
0

log4net.configに以下のように「File」パラメータ値が設定されています。プラットフォームに依存しないパスとコンパイルされたアセンブリフォルダの外にlog4netログファイルを作成する方法

<param name="File" value="Logger.log"/> 

Logger.logファイルは、コンパイルされたアセンブリのフォルダに作成されます。私はロガーをbinフォルダの外に作成したいし、完全なパスを提供したくないのは、プラットフォームに依存しないようにしたいからです。この問題について私を助けてください。

+0

を作成するファイルですか? – stuartd

+0

ロガーファイルをプロジェクトディレクトリのどこにでも作成することはできますが、コンパイルされたアセンブリディレクトリ内には作成しません。 –

+0

しかし、アプリケーションがデプロイされると、プロジェクトディレクトリはありませんか? – stuartd

答えて

0

FileAppenderでは、別の場所で定義されたプロパティを使用してファイルパスを定義することができます。この例では、LogPathプロパティはlog4net.GlobalContextを経由して、アプリケーションによって供給することができます。

XmlConfiguratorを呼び出す前に、プロパティの値を設定し
<file type="log4net.Util.PatternString" value="%property{LogPath}Logger.log" /> 

** **あなたが欲しいん
log4net.GlobalContext.Properties["LogPath"] = @"C:\SomePath\"; 
log4net.Config.XmlConfigurator.Configure(); 
関連する問題