log4net配置

发布时间 2023-04-04 17:16:35作者: 郭小四
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>
    <log4net>
        <root>
            <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
            <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->
            <!--如果没有定义LEVEL的值,则缺省为DEBUG-->
            <level value="ALL" />
            <appender-ref ref="RollingFileAppender" />
            <appender-ref ref="ColoredConsoleAppender" />
        </root>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <!--日志文件名开头-->
            <!--<file value="c:\Log\TestLog4net.TXT"/>-->
            <file value="./log/fanuc.log" />
            <!--多线程时采用最小锁定-->
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
            <datePattern value="(yyyyMMdd).log" />
            <!--是否追加到文件,默认为true,通常无需设置-->
            <appendToFile value="true" />
            <!--变换的形式为日期,这种情况下每天只有一个日志-->
            <!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义-->
            <!--<rollingStyle value="Date"/>-->
            <!--变换的形式为日志大小-->
            <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义-->
            <RollingStyle value="Date" />
            <!--每天记录的日志文件个数,与maximumFileSize配合使用-->
            <MaxSizeRollBackups value="100" />
            <!--每个日志文件的最大大小-->
            <!--可用的单位:KB|MB|GB-->
            <!--不要使用小数,否则会一直写入当前日志-->
            <maximumFileSize value="20MB" />
            <!--日志格式-->
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%t]%-5p %c - %m%n" />
            </layout>
        </appender>
        <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
            <mapping>
                <level value="ERROR" />
                <foreColor value="White" />
                <backColor value="Red,HighIntensity" />
            </mapping>
            <mapping>
                <level value="DEBUG" />
                <backColor value="Green" />
            </mapping>
            <mapping>
                <level value="Info" />
                <backColor value="Yellow" />
            </mapping>
            <mapping>
                <level value="WARN" />
                <foreColor value="Blue" />
                <backColor value="Red" />
            </mapping>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

            </layout>

            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="Debug" />
                <param name="LevelMax" value="Fatal" />
            </filter>
        </appender>
    </log4net>

 

   static ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);