- PR -

log4netでのログ出力について

1
投稿者投稿内容
.net
ベテラン
会議室デビュー日: 2005/04/11
投稿数: 95
投稿日時: 2006-05-31 18:54
いつもお世話なっております。
なかなか解決に至らないので、投稿させていただきました。

現在、VB.netにて開発を行っております。
そこで、ログの出力をlog4netにて行っているのですが、
ログのファイル名をVB.netのプログラムより動的に変更する事は
可能なのでしょうか???

お忙しいとは、思いますがよろしくお願いします。。。
もふー。
会議室デビュー日: 2005/09/15
投稿数: 10
お住まい・勤務地: かながわ→なごやん
投稿日時: 2006-05-31 20:27
引用:

.netさんの書き込み (2006-05-31 18:54) より:

そこで、ログの出力をlog4netにて行っているのですが、
ログのファイル名をVB.netのプログラムより動的に変更する事は可能なのでしょうか???


プログラム中で動的に、できましたっけ? (*´・ω・`)
設定ファイルで、ある程度動的にはできますが・・・

Log4Netのちょっと良い設定
http://www.ailight.jp/blog/koido/archive/2005/03/09/4871.aspx
.net
ベテラン
会議室デビュー日: 2005/04/11
投稿数: 95
投稿日時: 2006-06-01 11:23

さっそくのご返答ありがとうございます。

やはり、設定ファイルで変えるしかないのでしょうか???
ちなみに、やりたいことなのですが、

画面AAA.exe
  ↓
画面AAAのボタンをクリック
  ↓
別プロセスにて画面AAA.exeを起動

マルチ画面起動です。

そのときにプロセス別にログファイルを分けたいのですが
どういった方法がよろしいでしょうか???

よろしくお願いいたします。
.net
ベテラン
会議室デビュー日: 2005/04/11
投稿数: 95
投稿日時: 2006-06-05 12:02
動的にファイル名を変えるのは難しそうだったので、
結局、log4netでのログ出力はやらない事に決めました。
普通にファイルを出力する方式に変更しました。

皆さん、ご返信ありがとうございました。。。
また、機会があればよろしくおねがいいたします。
化石
会議室デビュー日: 2006/05/22
投稿数: 1
お住まい・勤務地: 京阪
投稿日時: 2006-06-06 13:59
化石と申します。
遅ればせながらご参考まで。

こちらのTip3にADONetAppender(ログをDBに出力するやつ)の出力先DB(ConnectionString)を動的に設定する方法が載っています。
ADONetAppenderをFileAppender等に置き換えれば、出力先のファイルを動的に設定できるようです(↓こんな感じ)。
コード:
log4net.Repository.Hierarchy.Hierarchy h = LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;

if( h != null )
{
    log4net.Appender.FileAppender appender = ( log4net.Appender.FileAppender )h.GetLogger( "MyProject", h.LoggerFactory ).GetAppender( "FileAppender" );

    if( appender != null )
    {
        appender.File = "ABCD.log";//出力先ファイルを設定
        appender.ActivateOptions();
    }
}

1

スキルアップ/キャリアアップ(JOB@IT)