ASP.NETでlog4netを使う

環境

前準備

  1. 新しいWebサイトの作成
  2. log4netのダウンロード(ここから)

log4netを参照に含める

「参照の追加」からlog4net.dllを追加

Global.asaxの追加

「新しい項目の追加」→「グローバルアプリケーションクラス」を選択

Global.asaxの編集

Application_Startに以下の文を追加

log4net.Config.XmlConfigurator.Configure(New System.IO.FileInfo("C:/WebSites/Log4NetSample/log4net.config"))

log4net.configを作成し

以下の設定を追加

<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  </configSections>

  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
  </appSettings>
  <log4net>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <file value="example.log" /><!-- ログ名を指定 -->
      <appendToFile value="true" />
      <maximumFileSize value="100KB" /><!-- 最大ファイルサイズ -->
      <maxSizeRollBackups value="2" /><!-- 2つまでバックアップを残す -->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d [%t] %level %thread %logger (%file:%line) - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="INFO" />
      <appender-ref ref="RollingFile" />
    </root>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingFile" />
    </root>
  </log4net>
</configuration>

ログを書き込んでみる

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        logger.Debug("HOGE")
        logger.Debug("FUGA")
        logger.Info("Infomation")
        test()
    End Sub

書き込まれました!

2008-07-16 11:43:41,359 [4] DEBUG 4 _Default (C:\WebSites\Log4Net\Default.aspx.vb:7) - HOGE
2008-07-16 11:43:41,359 [4] DEBUG 4 _Default (C:\WebSites\Log4Net\Default.aspx.vb:8) - FUGA
2008-07-16 11:43:41,359 [4] INFO 4 _Default (C:\WebSites\Log4Net\Default.aspx.vb:9) - Infomation

だけども、だけど

デバッグのためコンソールに出力したかったのですが出来ませんでした(T_T)