WPF開発ノウハウ集

出力ログの定義ファイルを作成する

  1. プロジェクトに新規テキストファイル “log4net.config” を追加する
  2. ファイルのプロパテイを下記のとおり設定する
    • ビルドアクション = コンテンツ
    • 出力ディレクトリにコピー = 常にコピーする
  3. ファイルに出力ログの定義を記述する
    • VisualStudioのコンソールログを出力する定義の記述例
        <?xml version="1.0" encoding="utf-8" ?>
        <configuration>
        <log4net>
            <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
                <layout type="log4net.Layout.PatternLayout">
                    <ConversionPattern value="%date [%property{pid}(%thread)] %-5level %logger - %message%n" />
                </layout>
            </appender>
            <root>
                <level value="ALL" />
                <appender-ref ref="ConsoleAppender" />
            </root>
        </log4net>
        </configuration>
      
    • ログファイルを出力する定義の記述例
        <?xml version="1.0" encoding="utf-8" ?>
        <configuration>
            <log4net>
                <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
                    <param name="File" value="${APPDATA}\\log\\" />
                    <param name="DatePattern" value='yyyy-MM-dd".log"' />
                    <param name="RollingStyle" value="date" />
                    <param name="StaticLogFileName" value="false" />
                    <param name="AppendToFile" value="true" />
                    <filter type="log4net.Filter.LevelRangeFilter">
                        <param name="LevelMax" value="FATAL" />
                        <param name="LevelMin" value="TRACE" />
                    </filter>
                    <param name="MaximumFileSize" value="10MB" />
                    <param name="MaxSizeRollBackups" value="10" />
                    <layout type="log4net.Layout.PatternLayout">
                        <ConversionPattern value="%date [%property{pid}(%thread)] %-5level %logger - %message%n" />
                    </layout>
                </appender>
                <root>
                    <level value="ALL" />
                    <appender-ref ref="FileAppender" />
                </root>
            </log4net>
        </configuration>
      
    • コンソールログとログファイルを出力する定義の記述例
        <?xml version="1.0" encoding="utf-8" ?>
        <configuration>
            <log4net>
                <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
                    <param name="File" value="${APPDATA}\\log\\" />
                    <param name="DatePattern" value='yyyy-MM-dd".log"' />
                    <param name="RollingStyle" value="date" />
                    <param name="StaticLogFileName" value="false" />
                    <param name="AppendToFile" value="true" />
                    <filter type="log4net.Filter.LevelRangeFilter">
                        <param name="LevelMax" value="FATAL" />
                        <param name="LevelMin" value="TRACE" />
                    </filter>
                    <param name="MaximumFileSize" value="10MB" />
                    <param name="MaxSizeRollBackups" value="10" />
                    <layout type="log4net.Layout.PatternLayout">
                        <ConversionPattern value="%date [%property{pid}(%thread)] %-5level %logger - %message%n" />
                    </layout>
                </appender>
                <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
                    <layout type="log4net.Layout.PatternLayout">
                        <ConversionPattern value="%date [%property{pid}(%thread)] %-5level %logger - %message%n" />
                    </layout>
                </appender>
                <root>
                    <level value="ALL" />
                    <appender-ref ref="FileAppender" />
                    <appender-ref ref="ConsoleAppender" />
                </root>
            </log4net>
        </configuration>