1. ホーム
  2. c#

[解決済み] log4netが動作しない

2022-07-22 13:48:37

質問

web.configにこのような設定をしました。

<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
        <param name="File" value="mylog.log" />
        <param name="AppendToFile" value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <param name="Header" value="" />
            <param name="Footer" value="" />
            <param name="ConversionPattern" value="%d [%t] %-5p %m%n" />
        </layout>
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
        <layout type="log4net.Layout.PatternLayout">
            <param name="Header" value="[Header]\r\n" />
            <param name="Footer" value="[Footer]\r\n" />
            <param name="ConversionPattern" value="%d [%t] %-5p %m%n" />
        </layout>
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="LogFileAppender" />
        <appender-ref ref="ConsoleAppender" />
    </root>
</log4net>

を実行しましたが、log4netが動作しません。私のプロジェクトは問題なくコンパイルされ、デバッグでもエラーは出ません。私が指示する行は log.debug("somemessage") に指示した行はうまく実行されるのですが、私は mylog.log ファイルが見つからないのですが、どこにあるのでしょうか?

どのように解決するのですか?

この種のものに対する一つのゲッチュは、必ず XmlConfigurator 属性をアセンブリに追加することです。 AssemblyInfo.cs :

[assembly: log4net.Config.XmlConfigurator]

そうしないと、log4netは決して起動しません。