豚吐露@wiki

loggerから出力ファイル名を取得する

最終更新:

ohden

- view
管理者のみ編集可

loggerから出力ファイル名を取得する

Windows 7-64bit Professional
VisualStudio 2013 Professional
log4net 1.2.11.0

とりあえず、以下の用な感じ。

1行目:は、logger取ってきてるだけなので、置いといて。
2行目:Hierarchyが何者かは分からんが、Rootを取得する。
3行目:で、このrootがFileAppenderを持っているので、log4net.xmlとかの設定ファイル内で設定したAppenderの名前を指定してGetAppenderしてやる。
4行目:FileAppenderが出力file pathを持ってる。

  1. ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2. var root = ((log4net.Repository.Hierarchy.Hierarchy)logger.Logger.Repository).Root;
  3. var appender = root.GetAppender("RollingFileAppender") as log4net.Appender.FileAppender;
  4. var filepath = appender.File;

ちなみに、『root.Appenders.Count = 0』だと...log4netの設定に失敗しておりまする。(´・ω・`)


あと、どこまで需要があるか分からんけど...
この『appender.File』を変えてやると、出力ファイルが変わる。ので、動的に出力先を変更することができる。



更新日: 2015年03月04日 (水) 17時16分14秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
目安箱バナー