- - PR -
ASP.NETにlog4netうまく出力できません
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-10-23 14:55
始めまして、.net初心者のりです。
VS2005を使って、ASP.NETにlog4netでログを出力したいですが、 ログファイルに何も出力しなかった。 Golbal.aspxのApplication_Startに下記内容を記述して、 log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("D:\\WebSite1\\Bin\\log4net.xml")); Default.aspxに下記内容を記述して、 log4net.ILog log = log4net.LogManager.GetLoggerSystem.Reflection.MethodBase.GetCurrentMethod().DeclaringType); protected void Page_Load(object sender, EventArgs e) { log.Debug("##Debug test"); log.Error("##Error test"); log.Fatal("##Fatal test"); log.Info("##Info test"); } web.configに下記内容を追加して、 <?xml version="1.0"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <appSettings> <!-- log4net内部のデバッグメッセージを出力する場合、trueに設定 --> <add key="log4net.Internal.Debug" value="true"/> </appSettings> <log4net> <!-- ここに log4net.config の内容を記述。 --> <appender name="DailyAppender" type="log4net.Appender.RollingFileAppender"> <!-- ファイル名 --> <param name="File" value="trace.log"/> <!-- 追記する場合 true / 上書きする場合 false --> <param name="AppendToFile" value="true"/> <!-- 日付や時刻の制約によるログファイルの切替 --> <param name="RollingStyle" value="Date"/> <!-- 上から「毎月、毎週、毎日、半日、毎時、毎分」の設定(デフォルトは毎日) --> <!-- <param name="DatePattern" value="yyyy-MM" /> --> <!-- <param name="DatePattern" value="yyyy-ww" /> --> <!-- <param name="DatePattern" value="yyyy-MM-dd" /> --> <!-- <param name="DatePattern" value="yyyy-MM-dd-a" /> --> <!-- <param name="DatePattern" value="yyyy-MM-dd-HH" /> --> <!-- <param name="DatePattern" value="yyyy-MM-dd-HH-mm" /> --> <param name="DatePattern" value="yyyy-MM-dd"/> <!-- 保存するファイル数(数を超えた場合は古いものから削除) --> <param name="MaxSizeRollBackups" value="7"/> <param name="StaticLogFileName" value="true"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p - %m%n"/> </layout> </appender> <root> <!-- 出力レベル --> <level value="INFO"/> <!-- 使用する Appender --> <appender-ref ref="DailyAppender"/> </root> </log4net> <system.web> <compilation debug="true"/></system.web></configuration> 長文ですが、申し訳御座いません。 ご存知する方が教えていただけませんか。 | ||||||||
|
投稿日時: 2008-10-23 15:39
ここと、
ここが、ムジュンしていると思います。 | ||||||||
|
投稿日時: 2008-10-23 15:53
rainさん、ご回答ありがとう御座いました。
詳しい内容を教えていただけませんか。 | ||||||||
|
投稿日時: 2008-10-23 16:19
log4net の設定を web.config に記述するのであれば、Application_Start で書く内容はこれだけでOK。
log4net の設定を別ファイルに記述するのであれば、そうした後で Application_Start で書く内容を下のようにする。
本当は Server.MapPath() メソッドを使って相対パスで指定するほうがおすすめなのですが、私には具体的な方法を説明する能を持ちません。 | ||||||||
|
投稿日時: 2008-10-23 16:38
rainさん
ご説明ありがとう御座いました。 ご指摘にて、分かりましたが、 正しい手順を教えてくいただけませんか 宜しくお願いいたします。 | ||||||||
|
投稿日時: 2008-10-23 16:44
ありがとう御座いました。
ログが出力できました! |
1