C# log4net 简单使用

0.引入包log4net

image.png

1.配置文件: log4net.config(注意:在这个config文件上点右键属性,让它始终复制或较新复制)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <!-- Level的级别,由高到低 -->
    <!-- None > Fatal > ERROR > WARN > DEBUG > INFO > ALL-->
    <!-- 解释:如果level是ERROR,则在cs文件里面调用log4net的info()方法,则不会写入到日志文件中-->
    <log4net>
        <!--错误日志类-->
        <logger name="logerror">
            <!--日志类的名字-->
            <level value="ALL" />
            <!--定义记录的日志级别-->
            <appender-ref ref="ErrorAppender" />
            <!--记录到哪个介质中去-->
        </logger>
        <!--信息日志类-->
        <logger name="loginfo">
            <level value="ALL" />
            <appender-ref ref="InfoAppender" />
        </logger>

        <!--错误日志附加介质-->
        <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
            <!-- name属性指定其名称,type则是log4net.Appender命名空间的一个类的名称,意思是,指定使用哪种介质-->
            <param name="File" value="Log\\LogError\\" />
            <!--日志输出到exe程序这个相对目录下-->
            <param name="AppendToFile" value="true" />
            <!--输出的日志不会覆盖以前的信息-->
            <param name="MaxSizeRollBackups" value="100" />
            <!--备份文件的个数-->
            <param name="MaxFileSize" value="10240" />
            <!--当个日志文件的最大大小-->
            <param name="StaticLogFileName" value="false" />
            <!--是否使用静态文件名-->
            <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
            <!--日志文件名-->
            <param name="RollingStyle" value="Date" />
            <!--文件创建的方式,这里是以Date方式创建-->
            <!--错误日志布局-->
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%n异常时间:%d [%t]  %n异常级别:%-5p  %n异 常 类:%c [%x]  %n%m  %n "  />
            </layout>
        </appender>
        <!--信息日志附加介质-->
        <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="Log\\LogInfo\\" />
            <param name="AppendToFile" value="true" />
            <param name="MaxFileSize" value="10240" />
            <param name="MaxSizeRollBackups" value="100" />
            <param name="StaticLogFileName" value="false" />
            <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
            <param name="RollingStyle" value="Date" />
            <!--信息日志布局-->
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="[时间] %d [%t] [信息] %m%n"  />
            </layout>
        </appender>
    </log4net>
</configuration>

2.注册配置文件

//配置日志
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

3.log类

    public class LogHelper
    {
        //这里的 loginfo 和 log4net.config 里的名字要一样
        public static readonly log4net.ILog log_info = log4net.LogManager.GetLogger("loginfo");

        //这里的 logerror 和 log4net.config 里的名字要一样
        public static readonly log4net.ILog log_error = log4net.LogManager.GetLogger("logerror");

        public static void WriteLog(string info)
        {
            if (log_info.IsInfoEnabled)
            {
                log_info.Info(info);
            }
        }

        public static void WriteLog(string error, Exception ex)
        {
            if (log_error.IsErrorEnabled)
            {
                log_error.Error(error, ex);
            }
        }
    }

4.运用

LogHelper.WriteLog("查询结果:"+result);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容