0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

log4netを追加する

Posted at

はじめに

MVCモデルでアプリケーションを新規作成しています。

今回はログ出力機能を追加しようと思います。
自作しても良いのですが、開発コストを考慮し「log4net」を使用することにしました。

ログ出力

log4netを追加

参照設定の追加する

NuGetパッケージマネージャーから「log4net」を追加します。
image.png

参照設定に追加されます。
image.png

設定を読み込ませる

アセンブリ(AssemblyInfo.cs)に以下を追加する

AssemblyInfo.cs
// 設定ファイル「log4net.config」を読み込む
[assembly: log4net.Config.XmlConfigurator(Watch = true, ConfigFile = "log4net.config")]

設定ファイル「web.config(app.config)」を読み込む場合、ConfigFileは不要です。

AssemblyInfo.cs
// 設定ファイル「web.config(app.config)」を読み込む
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

また、任意のクラスで以下を実行する事で初期化することが可能です。

XXXX.cs
// 設定ファイル「log4net.config」を読み込む
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config"));

設定ファイル

「log4net.config」を追加して以下の内容を記述します。

log4net.config
<configuration>
    <log4net>
        <appender name="DebugLogAppender" type="log4net.Appender.RollingFileAppender">
            <file value="log/Debug.log" />
            <appendToFile value="true" />
            <datePattern value="_yyyyMMdd" />
            <preserveLogFileNameExtension value="true" />
            <staticLogFileName value="false" />
            <lockingModel type="log4net.Appender.FileAppender+InterProcessLock" />
            <encoding value="utf-8" />
            <maxSizeRollBackups value="-1" />
            <maximumFileSize value="500MB" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.fff} %-5p %m%n" />
            </layout>
        </appender>
        <root>
            <level value="Debug" />
            <appender-ref ref="DebugLogAppender" />
        </root>
    </log4net>
</configuration>

「web.config(app.config)」に書く場合は以下を追加します。

web.config(app.config)
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>
    <log4net>
        <!-- log4net.configの場合と同じ -->
    </log4net>
</configuration>

log4netを使ったログ出力

以下のコードでログが出力される。

log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
logger.Debug("開始")

2025-08-23 22:59:28.908 DEBUG 開始
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?